Code

Merging from trunk
authorTed Gould <ted@canonical.com>
Sat, 11 Oct 2008 15:16:23 +0000 (11:16 -0400)
committerTed Gould <ted@canonical.com>
Sat, 11 Oct 2008 15:16:23 +0000 (11:16 -0400)
157 files changed:
AUTHORS
build-lx.xml
build.xml
buildtool.cpp
configure.ac
po/be.po
po/pt_BR.po
po/sl.po
share/extensions/dxf_outlines.py
share/extensions/hpgl_output.py
share/icons/icons.svg
src/2geom/piecewise.cpp
src/2geom/piecewise.h
src/2geom/rect.h
src/2geom/sbasis.cpp
src/2geom/transforms.h
src/box3d.cpp
src/conn-avoid-ref.cpp
src/conn-avoid-ref.h
src/connector-context.cpp
src/desktop.cpp
src/dialogs/clonetiler.cpp
src/dialogs/export.cpp
src/dialogs/layers-panel.cpp
src/dialogs/stroke-style.cpp
src/dialogs/tiledialog.cpp
src/dialogs/unclump.cpp
src/display/canvas-bpath.cpp
src/display/curve.cpp
src/display/curve.h
src/display/inkscape-cairo.cpp
src/display/inkscape-cairo.h
src/display/nr-arena-glyphs.cpp
src/display/nr-arena-group.cpp
src/display/nr-arena-group.h
src/display/nr-arena-image.cpp
src/display/nr-arena-image.h
src/display/nr-arena-item.cpp
src/display/nr-arena-item.h
src/display/nr-arena-shape.cpp
src/display/nr-arena-shape.h
src/display/nr-filter-image.cpp
src/display/nr-filter-turbulence.cpp
src/display/nr-filter.cpp
src/display/nr-filter.h
src/display/nr-svgfonts.cpp
src/display/nr-svgfonts.h
src/display/sp-canvas.cpp
src/document.cpp
src/dyna-draw-context.cpp
src/eraser-context.cpp
src/extension/internal/cairo-render-context.cpp
src/extension/internal/cairo-render-context.h
src/extension/internal/cairo-renderer.cpp
src/extension/internal/grid.cpp
src/extension/internal/odf.cpp
src/extension/internal/ps.cpp
src/extension/internal/win32.cpp
src/file.cpp
src/filter-chemistry.cpp
src/flood-context.cpp
src/gradient-chemistry.cpp
src/gradient-drag.cpp
src/graphlayout/graphlayout.cpp
src/helper/geom.cpp
src/helper/geom.h
src/helper/pixbuf-ops.cpp
src/helper/png-write.cpp
src/helper/recthull.h [new file with mode: 0644]
src/inkscape.cpp
src/interface.cpp
src/knot-holder-entity.cpp
src/libnr/nr-convert2geom.h
src/libnr/nr-rect.cpp
src/libnr/nr-rect.h
src/livarot/PathConversion.cpp
src/livarot/PathStroke.cpp
src/live_effects/lpe-knot.cpp
src/live_effects/lpe-mirror_symmetry.cpp
src/live_effects/lpe-ruler.cpp
src/live_effects/lpe-sketch.cpp
src/live_effects/lpe-spiro.cpp
src/live_effects/lpe-vonkoch.cpp
src/live_effects/lpe-vonkoch.h
src/live_effects/lpegroupbbox.cpp
src/live_effects/lpeobject.cpp
src/live_effects/lpeobject.h
src/live_effects/parameter/pointparam-knotholder.cpp
src/main.cpp
src/marker.cpp
src/nodepath.cpp
src/object-edit.cpp
src/object-snapper.cpp
src/preferences.cpp
src/removeoverlap/removeoverlap.cpp
src/satisfied-guide-cns.cpp
src/satisfied-guide-cns.h
src/selcue.cpp
src/selection-chemistry.cpp
src/selection.cpp
src/selection.h
src/seltrans-handles.h
src/seltrans.cpp
src/seltrans.h
src/snap.cpp
src/sp-clippath.cpp
src/sp-conn-end-pair.cpp
src/sp-conn-end.cpp
src/sp-flowtext.cpp
src/sp-gradient-test.h
src/sp-gradient.cpp
src/sp-image.cpp
src/sp-item-group.cpp
src/sp-item-notify-moveto.cpp
src/sp-item-rm-unsatisfied-cns.cpp
src/sp-item-transform.cpp
src/sp-item-transform.h
src/sp-item-update-cns.cpp
src/sp-item-update-cns.h
src/sp-item.cpp
src/sp-item.h
src/sp-line.cpp
src/sp-lpe-item.cpp
src/sp-mask.cpp
src/sp-offset.cpp
src/sp-path.cpp
src/sp-pattern.cpp
src/sp-rect.cpp
src/sp-shape.cpp
src/sp-star.cpp
src/sp-symbol.cpp
src/sp-text.cpp
src/sp-use-reference.cpp
src/sp-use.cpp
src/splivarot.cpp
src/svg-view.cpp
src/svg/svg-affine.cpp
src/text-context.cpp
src/trace/trace.cpp
src/tweak-context.cpp
src/tweak-context.h
src/ui/cache/svg_preview_cache.cpp
src/ui/clipboard.cpp
src/ui/dialog/align-and-distribute.cpp
src/ui/dialog/filedialogimpl-win32.cpp
src/ui/dialog/livepatheffect-editor.cpp
src/ui/dialog/livepatheffect-editor.h
src/ui/dialog/transformation.cpp
src/ui/view/edit-widget.cpp
src/ui/widget/object-composite-settings.cpp
src/ui/widget/style-subject.cpp
src/ui/widget/style-subject.h
src/verbs.cpp
src/widgets/desktop-widget.cpp
src/widgets/icon.cpp
src/widgets/select-toolbar.cpp
src/widgets/toolbox.cpp

diff --git a/AUTHORS b/AUTHORS
index f9cbc2f9250872db4845d8f58fa89d49a14c5230..724ec295ecbda51fa8163ca61dd24c2d5b31b55d 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -6,6 +6,7 @@ Bill Baxter
 John Bintz
 Arpad Biro
 Nicholas Bishop
+Joshua L. Blocher
 Boldewyn
 Daniel Borgmann
 Bastien Bouclet
index e4c02005bda98e09649d3ef6ac39fe415d42f5d6..d8fd3f346777ceb5f30980729c832c3223da18c4 100644 (file)
     <copy file="${src}/helper/sp-marshal.cpp.mingw"
           tofile="${src}/helper/sp-marshal.cpp"/>
     <makefile file="inkscape_version.h">
-        #define INKSCAPE_VERSION "${version}"
+        #define INKSCAPE_VERSION "${version}, revision ${svn.revision}"
     </makefile>
     <makefile file="config.h">
         #ifndef _CONFIG_H_
   ########################################################################
   -->
   <target name="touchabout"
-      description="update the modification time of aboutdialog.cpp">
-    <!-- not good <touch file="${src}/ui/dialog/aboutdialog.cpp"/> -->
+      description="update the modification time of aboutbox.cpp">
+    <!-- not good <touch file="${src}/ui/dialog/aboutbox.cpp"/> -->
     <!-- better -->
-    <delete file="${build}/obj/ui/dialog/aboutdialog.o"/>
+    <delete file="${build}/obj/ui/dialog/aboutbox.o"/>
   </target>
 
 
index 6a87bdd3c22da61d6ddaddc72288d02f0986867e..c1095d79ae8cce3dc328a398f44fc107e798a979 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -97,7 +97,7 @@
           tofile="${src}/helper/sp-marshal.cpp"/>
           
     <makefile file="inkscape_version.h">
-        #define INKSCAPE_VERSION "${version}"
+        #define INKSCAPE_VERSION "${version}, revision ${svn.revision}"
     </makefile>
     <makefile file="config.h">
         #ifndef _CONFIG_H_
   ########################################################################
   -->
   <target name="touchabout"
-      description="update the modification time of aboutdialog.cpp">
-    <!-- not good <touch file="${src}/ui/dialog/aboutdialog.cpp"/> -->
+      description="update the modification time of aboutbox.cpp">
+    <!-- not good <touch file="${src}/ui/dialog/aboutbox.cpp"/> -->
     <!-- better -->
-    <delete file="${build}/obj/ui/dialog/aboutdialog.o"/>
+    <delete file="${build}/obj/ui/dialog/aboutbox.o"/>
+    <delete file="inkscape_version.h"/>
   </target>
 
 
             <exclude name="widgets/test-widgets.cpp"/>
             <exclude name="xml/quote-test.cpp"/>
             <exclude name="xml/repr-action-test.cpp"/>
-            <!--<exclude name="xml/test-xml.cpp"/>-->
-            <exclude name="xml/test-xml-main.cpp"/>
+            <exclude name="xml/test-xml.cpp"/>
+            <!--<exclude name="xml/test-xml-main.cpp"/>-->
             <exclude name="io/streamtest.cpp"/>
             <!--JABBER-->
             <exclude name="pedro/pedrogui.cpp"/>
     <delete dir="${dist}"/>
     <delete file="build.dep"/>
     <delete file="config.h"/>
+    <delete file="inkscape_version.h"/>
 
     <delete file="${src}/test-main.cpp"/>
     <delete file="${src}/test-src.cpp"/>
index 23d265f02a6ebbfa5a81ecb39e1939008736d508..4ba7ccfe9e8392f3026a78b1119e0019648a8ee4 100644 (file)
@@ -39,7 +39,7 @@
  *
  */
 
-#define BUILDTOOL_VERSION  "BuildTool v0.9.6"
+#define BUILDTOOL_VERSION  "BuildTool v0.9.9"
 
 #include <stdio.h>
 #include <fcntl.h>
@@ -3189,11 +3189,19 @@ protected:
     /**
      *    If this prefix is seen in a substitution, use as a
      *    pkg-config 'libs' query
-     *             example:  <property pkg-config="pcl"/>
+     *             example:  <property pkg-config-libs="pcl"/>
      *             ${pcl.gtkmm}
      */
     String pclPrefix;
 
+    /**
+     *    If this prefix is seen in a substitution, use as a
+     *    Subversion "svn info" query
+     *             example:  <property subversion="svn"/>
+     *             ${svn.Revision}
+     */
+    String svnPrefix;
+
 
 
 
@@ -3634,6 +3642,112 @@ private:
 
 
 
+/**
+ * Execute the "svn info" command and parse the result.
+ * This is a simple, small class. Define here, because it
+ * is used by MakeBase implementation methods. 
+ */
+class SvnInfo : public MakeBase
+{
+public:
+
+#if 0
+    /**
+     * Safe way. Execute "svn info --xml" and parse the result.  Search for
+     * elements/attributes.  Safe from changes in format.
+     */
+    bool query(const String &name, String &res)
+    {
+        String cmd = "svn info --xml";
+    
+        String outString, errString;
+        bool ret = executeCommand(cmd.c_str(), "", outString, errString);
+        if (!ret)
+            {
+            error("error executing '%s': %s", cmd.c_str(), errString.c_str());
+            return false;
+            }
+        Parser parser;
+        Element *elem = parser.parse(outString); 
+        if (!elem)
+            {
+            error("error parsing 'svn info' xml result: %s", outString.c_str());
+            return false;
+            }
+        
+        res = elem->getTagValue(name);
+        if (res.size()==0)
+            {
+            res = elem->getTagAttribute("entry", name);
+            }
+        return true;
+    } 
+#else
+
+
+    /**
+     * Universal way.  Parse the file directly.  Not so safe from
+     * changes in format.
+     */
+    bool query(const String &name, String &res)
+    {
+        String fileName = resolve(".svn/entries");
+        String nFileName = getNativePath(fileName);
+        
+        std::map<String, String> properties;
+        
+        FILE *f = fopen(nFileName.c_str(), "r");
+        if (!f)
+            {
+            error("could not open SVN 'entries' file");
+            return false;
+            }
+
+        const char *fieldNames[] =
+            {
+            "format-nbr",
+            "name",
+            "kind",
+            "revision",
+            "url",
+            "repos",
+            "schedule",
+            "text-time",
+            "checksum",
+            "committed-date",
+            "committed-rev",
+            "last-author",
+            "has-props",
+            "has-prop-mods",
+            "cachable-props",
+            };
+
+        for (int i=0 ; i<15 ; i++)
+            {
+            inbuf[0] = '\0';
+            if (feof(f) || !fgets(inbuf, 255, f))
+                break;
+            properties[fieldNames[i]] = trim(inbuf);
+            }
+        fclose(f);
+        
+        res = properties[name];
+        
+        return true;
+    } 
+    
+private:
+
+    char inbuf[256];
+
+#endif
+
+};
+
+
+
+
+
 
 /**
  *  Print a printf()-like formatted error message
@@ -4584,6 +4698,16 @@ bool MakeBase::lookupProperty(const String &propertyName, String &result)
             return false;
         result = val;
         }
+    else if (svnPrefix.size() > 0 &&
+        varname.compare(0, svnPrefix.size(), svnPrefix) == 0)
+        {
+        varname = varname.substr(svnPrefix.size());
+        String val;
+        SvnInfo svnInfo;
+        if (!svnInfo.query(varname, val))
+            return false;
+        result = val;
+        }
     else
         {
         std::map<String, String>::iterator iter;
@@ -5607,9 +5731,6 @@ bool PkgConfig::query(const String &pkgName)
 }
 
 
-
-
-
 //########################################################################
 //# D E P T O O L
 //########################################################################
@@ -8086,13 +8207,14 @@ public:
     virtual bool execute()
         {
         String fileName = parent.eval(fileNameOpt, "");
+        bool force      = parent.evalBool(forceOpt, false);
         String text     = parent.eval(textOpt, "");
 
         taskstatus("%s", fileName.c_str());
         String fullName = parent.resolve(fileName);
-        if (!isNewerThan(parent.getURI().getPath(), fullName))
+        if (!force && !isNewerThan(parent.getURI().getPath(), fullName))
             {
-            //trace("skipped <makefile>");
+            taskstatus("skipped");
             return true;
             }
         String fullNative = getNativePath(fullName);
@@ -8116,6 +8238,8 @@ public:
         {
         if (!parent.getAttribute(elem, "file", fileNameOpt))
             return false;
+        if (!parent.getAttribute(elem, "force", forceOpt))
+            return false;
         if (fileNameOpt.size() == 0)
             {
             error("<makefile> requires 'file=\"filename\"' attribute");
@@ -8131,6 +8255,7 @@ public:
 private:
 
     String fileNameOpt;
+    String forceOpt;
     String textOpt;
 };
 
@@ -9371,6 +9496,7 @@ void Make::init()
     pcPrefix        = "pc.";
     pccPrefix       = "pcc.";
     pclPrefix       = "pcl.";
+    svnPrefix       = "svn.";
     properties.clear();
     for (unsigned int i = 0 ; i < allTasks.size() ; i++)
         delete allTasks[i];
@@ -9789,6 +9915,16 @@ bool Make::parseProperty(Element *elem)
             pclPrefix = attrVal;
             pclPrefix.push_back('.');
             }
+        else if (attrName == "subversion")
+            {
+            if (attrVal.find('.') != attrVal.npos)
+                {
+                error("subversion prefix cannot have a '.' in it");
+                return false;
+                }
+            svnPrefix = attrVal;
+            svnPrefix.push_back('.');
+            }
         }
 
     return true;
index 5a77262410bfc34329ee61d5b965312162437eb4..7b33e7647d650a7412af65c0771b9e19dc4b6a24 100644 (file)
@@ -617,10 +617,11 @@ AC_SUBST(IMAGEMAGICK_LIBS)
 AC_SUBST(IMAGEMAGICK_CFLAGS)
 
 dnl ***********************************************************************************************************
-dnl Check for a Cairo version that implements user-fonts feature, so that we conditionally add SVGFonts support
+dnl Check for a Cairo version that implements user-fonts feature (with a stable API, that is cairo > 1.7.6),
+dnl so that we conditionally add SVGFonts support
 dnl ***********************************************************************************************************
 
-PKG_CHECK_MODULES(CAIRO_USER_FONTS, cairo > 1.6.4, cairouserfonts=yes, cairouserfonts=no)
+PKG_CHECK_MODULES(CAIRO_USER_FONTS, cairo > 1.7.6, cairouserfonts=yes, cairouserfonts=no)
 if test "x$cairouserfonts" = "xyes"; then
        AC_DEFINE(ENABLE_SVG_FONTS, 1, [SVG Fonts should be used])
 fi
index d223c0c29a3bc85ee6bd17befee15e5ba502bbf7..710b68d939cba54774b6694f4fce88680ee7d820 100644 (file)
--- a/po/be.po
+++ b/po/be.po
 # This file is distributed under the same license as the Inkscape package.
 # Copyright (C) 2006 Free Software Foundation, Inc.
 # Vital Khilko <dojlid@mova.org>, 2003
+# Hleb Valoshka <375gnu@gmail.com>, 2008
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: inkscape\n"
+"Project-Id-Version: inkscape 0.46\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 18:14+0100\n"
-"Last-Translator: Vital Khilko <dojlid@mova.org>\n"
+"POT-Creation-Date: 2008-02-26 11:38+0100\n"
+"PO-Revision-Date: 2008-10-04 18:54+0300\n"
+"Last-Translator: Hleb Valoshka <375gnu@gmail.com>\n"
 "Language-Team: Belarusian <i18n@mova.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: KBabel 1.0\n"
+"X-Poedit-Language: Belarusian\n"
+"X-Poedit-Country: BELARUS\n"
+"X-Poedit-SourceCharset: UTF-8\n"
+"X-Poedit-Basepath: ../../../build/inkscape-0.46/po\n"
 
 #: ../inkscape.desktop.in.h:1
-#, fuzzy
 msgid "Create and edit Scalable Vector Graphics images"
-msgstr "ФаÑ\80маÑ\82 Ð·Ð´Ð¾Ð»Ñ\8cнай Ð¼Ð°Ñ\88Ñ\82абаваÑ\86Ñ\86а Ð²Ñ\8dкÑ\82аÑ\80най Ð³Ñ\80аÑ\84Ñ\96кÑ\96"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð¹ Ð·Ñ\8cмÑ\8fненÑ\8cне Ð²Ñ\96даÑ\80Ñ\8bÑ\81аÑ\9e Ð·Ð´Ð¾Ð»Ñ\8cнай Ð¼Ð°Ñ\88Ñ\82абаваÑ\86Ñ\86а Ð²Ñ\8dкÑ\82аÑ\80най Ò\91Ñ\80аÑ\84Ñ\96кÑ\96 (SVG)"
 
 #: ../inkscape.desktop.in.h:2
-#, fuzzy
 msgid "Inkscape Vector Graphics Editor"
-msgstr "РÑ\8dдакÑ\82аÑ\80 Ð²Ñ\8dкÑ\82аÑ\80нае Ð³Ñ\80аÑ\84Ñ\96кÑ\96"
+msgstr "РÑ\8dдакÑ\82аÑ\80 Ð²Ñ\8dкÑ\82аÑ\80най Ò\91Ñ\80аÑ\84Ñ\96кÑ\96 Inkscape"
 
-#: ../src/arc-context.cpp:338
-msgid ""
-"<b>Ctrl</b>: make circle or integer-ratio ellipse, snap arc/segment angle"
-msgstr ""
+#: ../src/arc-context.cpp:339
+msgid "<b>Ctrl</b>: make circle or integer-ratio ellipse, snap arc/segment angle"
+msgstr "<b>Ctrl</b>: зрабіць акружнасьць ці цэластасункавы эліпс, абмежаваць вугал дугі/сэґмэнта"
 
-#: ../src/arc-context.cpp:339 ../src/rect-context.cpp:383
+#: ../src/arc-context.cpp:340
+#: ../src/rect-context.cpp:385
 msgid "<b>Shift</b>: draw around the starting point"
-msgstr ""
+msgstr "<b>Shift</b>: рысаваць вакол пачатковага пункту"
 
-#: ../src/arc-context.cpp:485
+#: ../src/arc-context.cpp:486
 #, c-format
-msgid ""
-"<b>Ellipse</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</b> "
-"to draw around the starting point"
-msgstr ""
+msgid "<b>Ellipse</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</b> to draw around the starting point"
+msgstr "<b>Эліпс</b>: %s &#215; %s (абмежаваны стасункам %d:%d); з <b>Shift</b> рысаваць вакол пачатковага пункту"
 
-#: ../src/arc-context.cpp:487
+#: ../src/arc-context.cpp:488
 #, c-format
-msgid ""
-"<b>Ellipse</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-"
-"ratio ellipse; with <b>Shift</b> to draw around the starting point"
-msgstr ""
+msgid "<b>Ellipse</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-ratio ellipse; with <b>Shift</b> to draw around the starting point"
+msgstr "<b>Эліпс</b>: %s &#215; %s; з <b>Ctrl</b> зрабіць квадратны ці цэлалікавы эліпс; з <b>Shift</b> рысаваць вакол пачатковага пункту"
 
-#: ../src/arc-context.cpp:506
-#, fuzzy
+#: ../src/arc-context.cpp:507
 msgid "Create ellipse"
-msgstr "Стварыць лучыва"
+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
+#: ../src/box3d.cpp:317
+msgid "<b>3D Box</b>"
+msgstr "<b>Скрыня</b>"
+
+#: ../src/box3d-context.cpp:450
+#: ../src/box3d-context.cpp:457
+#: ../src/box3d-context.cpp:464
+#: ../src/box3d-context.cpp:471
+#: ../src/box3d-context.cpp:478
+#: ../src/box3d-context.cpp:485
 msgid "Change perspective (angle of PLs)"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð¿Ñ\8dÑ\80Ñ\81пÑ\8dкÑ\82Ñ\8bвÑ\83 (вÑ\83гал Ð¼Ñ\96ж Ð\9bÐ\9f)"
 
 #. status text
-#: ../src/box3d-context.cpp:638
+#: ../src/box3d-context.cpp:640
 msgid "<b>3D Box</b>; with <b>Shift</b> to extrude along the Z axis"
-msgstr ""
+msgstr "<b>Скрыня</b>; з <b>Shift</b> выцягваць уздоўж восі Z"
 
-#: ../src/box3d-context.cpp:662
-#, fuzzy
+#: ../src/box3d-context.cpp:664
 msgid "Create 3D box"
-msgstr "Стварыць лучыва"
-
-#: ../src/box3d.cpp:315
-#, fuzzy
-msgid "<b>3D Box</b>"
-msgstr "Кут:"
+msgstr "Стварыць трохмерную скрыню"
 
 #: ../src/connector-context.cpp:522
 msgid "Creating new connector"
-msgstr ""
+msgstr "Стварыць новы злучальнік"
 
 #: ../src/connector-context.cpp:751
 msgid "Connector endpoint drag cancelled."
-msgstr ""
+msgstr "Валачэньне канцавога пункта злучальніка адменена."
 
 #: ../src/connector-context.cpp:799
 msgid "Reroute connector"
-msgstr ""
+msgstr "Правесьці злучальнік іншым шляхам"
 
 #. Flush pending updates
-#: ../src/connector-context.cpp:963
+#: ../src/connector-context.cpp:964
 msgid "Create connector"
-msgstr ""
+msgstr "Стварыць злучальнік"
 
-#: ../src/connector-context.cpp:987
+#: ../src/connector-context.cpp:988
 msgid "Finishing connector"
-msgstr ""
+msgstr "Сканчэньне злучальніка"
 
-#: ../src/connector-context.cpp:1130
+#: ../src/connector-context.cpp:1132
 msgid "<b>Connection point</b>: click or drag to create a new connector"
-msgstr ""
+msgstr "<b>Пункт злучэньня</b>: пстрыкні ці пацягні, каб стварыць новы злучальнік"
 
-#: ../src/connector-context.cpp:1203
+#: ../src/connector-context.cpp:1205
 msgid "<b>Connector endpoint</b>: drag to reroute or connect to new shapes"
-msgstr ""
+msgstr "<b>Канцавік злучальніка</b>: пацягні, каб зьмяніць маршрут ці злучыць зь іншай фіґурай"
 
-#: ../src/connector-context.cpp:1314
+#: ../src/connector-context.cpp:1316
 msgid "Select <b>at least one non-connector object</b>."
-msgstr ""
+msgstr "Вылучы <b>прынамсі адзін абʼект, не злучальнік</b>."
 
-#: ../src/connector-context.cpp:1319 ../src/widgets/toolbox.cpp:5554
-#, fuzzy
+#: ../src/connector-context.cpp:1321
+#: ../src/widgets/toolbox.cpp:5110
 msgid "Make connectors avoid selected objects"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екты"
+msgstr "Ð\9dÑ\8fÑ\85ай Ð·Ð»Ñ\83Ñ\87алÑ\8cнÑ\96кÑ\96 Ð¿Ð°Ð·Ñ\8cбÑ\8fгаÑ\8eÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±Ê¼екты"
 
-#: ../src/connector-context.cpp:1320 ../src/widgets/toolbox.cpp:5564
-#, fuzzy
+#: ../src/connector-context.cpp:1322
+#: ../src/widgets/toolbox.cpp:5120
 msgid "Make connectors ignore selected objects"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екты"
+msgstr "Ð\9dÑ\8fÑ\85ай Ð·Ð»Ñ\83Ñ\87алÑ\8cнÑ\96кÑ\96 Ñ\96гнаÑ\80Ñ\83Ñ\8eÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±Ê¼екты"
 
-#: ../src/context-fns.cpp:37 ../src/context-fns.cpp:66
+#: ../src/context-fns.cpp:36
+#: ../src/context-fns.cpp:65
 msgid "<b>Current layer is hidden</b>. Unhide it to be able to draw on it."
-msgstr ""
+msgstr "<b>Бягучы пласт схаваны</b>. Пакажы яго, каб можна было рысаваць на ім."
 
-#: ../src/context-fns.cpp:43 ../src/context-fns.cpp:72
+#: ../src/context-fns.cpp:42
+#: ../src/context-fns.cpp:71
 msgid "<b>Current layer is locked</b>. Unlock it to be able to draw on it."
-msgstr ""
+msgstr "<b>Бягучы пласт замкнуты</b>. Адамкні яго, каб можна было рысаваць на ім."
 
-#: ../src/desktop.cpp:782
-msgid "No previous zoom."
-msgstr ""
-
-#: ../src/desktop.cpp:807
-msgid "No next zoom."
-msgstr ""
-
-#: ../src/desktop-events.cpp:175
-#, fuzzy
+#: ../src/desktop-events.cpp:149
 msgid "Create guide"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\83Ñ\8e"
 
-#: ../src/desktop-events.cpp:221 ../src/desktop-events.cpp:275
+#: ../src/desktop-events.cpp:195
+#: ../src/desktop-events.cpp:246
 #: ../src/dialogs/guidelinedialog.cpp:127
-#, fuzzy
 msgid "Delete guide"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\83Ñ\8e"
 
-#: ../src/desktop-events.cpp:269
-#, fuzzy
+#: ../src/desktop-events.cpp:240
 msgid "Move guide"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\83Ñ\8e"
 
-#: ../src/desktop-events.cpp:290
-#, fuzzy, c-format
+#: ../src/desktop-events.cpp:261
+#, c-format
 msgid "<b>Guideline</b>: %s"
-msgstr "Колер кіруючых рысаў"
+msgstr "<b>Накіроўная</b>: %s"
+
+#: ../src/desktop.cpp:734
+msgid "No previous zoom."
+msgstr "Няма папярэдняга маштабу."
+
+#: ../src/desktop.cpp:759
+msgid "No next zoom."
+msgstr "Няма наступнага маштабу."
 
 #: ../src/dialogs/clonetiler.cpp:168
 msgid "<small>Nothing selected.</small>"
-msgstr ""
+msgstr "<small>Нічога ня вылучана.</small>"
 
 #: ../src/dialogs/clonetiler.cpp:174
 msgid "<small>More than one object selected.</small>"
-msgstr ""
+msgstr "<small>Выбрана больш за адзін абʼект.</small>"
 
 #: ../src/dialogs/clonetiler.cpp:181
 #, c-format
 msgid "<small>Object has <b>%d</b> tiled clones.</small>"
-msgstr ""
+msgstr "<small>Абʼект мае <b>%d</b> мазаічных клонаў.</small>"
 
 #: ../src/dialogs/clonetiler.cpp:186
 msgid "<small>Object has no tiled clones.</small>"
-msgstr ""
+msgstr "<small>Абʼект ня мае мазаічных клонаў.</small>"
 
-#: ../src/dialogs/clonetiler.cpp:984
+#: ../src/dialogs/clonetiler.cpp:985
 msgid "Select <b>one object</b> whose tiled clones to unclump."
-msgstr ""
+msgstr "Вылучы <b>адзін абʼект</b>, чые мазаічныя клоны трэба разьляпіць."
 
-#: ../src/dialogs/clonetiler.cpp:1006
+#: ../src/dialogs/clonetiler.cpp:1007
 msgid "Unclump tiled clones"
-msgstr ""
+msgstr "Разьляпіць мазаічныя клоны"
 
-#: ../src/dialogs/clonetiler.cpp:1036
+#: ../src/dialogs/clonetiler.cpp:1037
 msgid "Select <b>one object</b> whose tiled clones to remove."
-msgstr ""
+msgstr "Вылучы <b>адзін абʼект</b>, чые мазаічныя клоны трэба прыбраць."
 
-#: ../src/dialogs/clonetiler.cpp:1059
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:1060
 msgid "Delete tiled clones"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злы"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð¼Ð°Ð·Ð°Ñ\96Ñ\87нÑ\8bÑ\8f ÐºÐ»Ð¾Ð½ы"
 
-#: ../src/dialogs/clonetiler.cpp:1105 ../src/selection-chemistry.cpp:1818
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:1106
+#: ../src/selection-chemistry.cpp:2248
 msgid "Select an <b>object</b> to clone."
-msgstr "Вылучае ўсе аб'екты ў дакумэнце"
-
-#: ../src/dialogs/clonetiler.cpp:1111
-msgid ""
-"If you want to clone several objects, <b>group</b> them and <b>clone the "
-"group</b>."
-msgstr ""
+msgstr "Выберы <b>абʼект</b> кланаваньня."
 
-#: ../src/dialogs/clonetiler.cpp:1120
-#, fuzzy
-msgid "<small>Creating tiled clones...</small>"
-msgstr "Градыент не вылучаны"
+#: ../src/dialogs/clonetiler.cpp:1112
+msgid "If you want to clone several objects, <b>group</b> them and <b>clone the group</b>."
+msgstr "Калі жадаеш скланаваць некалькі абʼектаў, <b>зґрупуй</b> іх і <b>склануй ґрупу</b>."
 
-#: ../src/dialogs/clonetiler.cpp:1527
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:1514
 msgid "Create tiled clones"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¼Ð°Ð·Ð°Ñ\96Ñ\87нÑ\8bÑ\8f ÐºÐ»Ð¾Ð½Ñ\8b"
 
-#: ../src/dialogs/clonetiler.cpp:1710
+#: ../src/dialogs/clonetiler.cpp:1697
 msgid "<small>Per row:</small>"
-msgstr ""
+msgstr "<small>На радок:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:1723
+#: ../src/dialogs/clonetiler.cpp:1710
 msgid "<small>Per column:</small>"
-msgstr ""
+msgstr "<small>На слупок:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:1731
+#: ../src/dialogs/clonetiler.cpp:1718
 msgid "<small>Randomize:</small>"
-msgstr ""
+msgstr "<small>Адвольнасьць:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:1885
+#: ../src/dialogs/clonetiler.cpp:1872
 msgid "_Symmetry"
-msgstr ""
+msgstr "_Сымэтрыя"
 
 #. 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
+#: ../src/dialogs/clonetiler.cpp:1880
 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
+#: ../src/dialogs/clonetiler.cpp:1891
 msgid "<b>P1</b>: simple translation"
-msgstr ""
+msgstr "<b>P1</b>: просты перанос"
 
-#: ../src/dialogs/clonetiler.cpp:1905
+#: ../src/dialogs/clonetiler.cpp:1892
 msgid "<b>P2</b>: 180&#176; rotation"
-msgstr ""
+msgstr "<b>P2</b>: паварот на 180&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1906
+#: ../src/dialogs/clonetiler.cpp:1893
 msgid "<b>PM</b>: reflection"
-msgstr ""
+msgstr "<b>PM</b>: адбіцьцё"
 
 #. 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
+#: ../src/dialogs/clonetiler.cpp:1896
 msgid "<b>PG</b>: glide reflection"
-msgstr ""
+msgstr "<b>PG</b>: сьлізгаючае адбіцьцё"
 
-#: ../src/dialogs/clonetiler.cpp:1910
+#: ../src/dialogs/clonetiler.cpp:1897
 msgid "<b>CM</b>: reflection + glide reflection"
-msgstr ""
+msgstr "<b>CM</b>: адбіцьцё + сьлізгаючае адбіцьцё"
 
-#: ../src/dialogs/clonetiler.cpp:1911
+#: ../src/dialogs/clonetiler.cpp:1898
 msgid "<b>PMM</b>: reflection + reflection"
-msgstr ""
+msgstr "<b>PMM</b>: адбіцьцё + адбіцьцё"
 
-#: ../src/dialogs/clonetiler.cpp:1912
+#: ../src/dialogs/clonetiler.cpp:1899
 msgid "<b>PMG</b>: reflection + 180&#176; rotation"
-msgstr ""
+msgstr "<b>PMG</b>: адбіцьцё + паварот на 180&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1913
+#: ../src/dialogs/clonetiler.cpp:1900
 msgid "<b>PGG</b>: glide reflection + 180&#176; rotation"
-msgstr ""
+msgstr "<b>PGG</b>: сьлізгаючае адбіцьцё + паварот на 180&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1914
+#: ../src/dialogs/clonetiler.cpp:1901
 msgid "<b>CMM</b>: reflection + reflection + 180&#176; rotation"
-msgstr ""
+msgstr "<b>CMM</b>: адбіцьцё + адбіцьцё + паварот на 180&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1915
+#: ../src/dialogs/clonetiler.cpp:1902
 msgid "<b>P4</b>: 90&#176; rotation"
-msgstr ""
+msgstr "<b>P4</b>: паварот на 90&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1916
+#: ../src/dialogs/clonetiler.cpp:1903
 msgid "<b>P4M</b>: 90&#176; rotation + 45&#176; reflection"
-msgstr ""
+msgstr "<b>P4M</b>: паварот на 90&#176; + адбіцьцё на 45&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1917
+#: ../src/dialogs/clonetiler.cpp:1904
 msgid "<b>P4G</b>: 90&#176; rotation + 90&#176; reflection"
-msgstr ""
+msgstr "<b>P4G</b>: паварот на 90&#176; + адбіцьцё на 90&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1918
+#: ../src/dialogs/clonetiler.cpp:1905
 msgid "<b>P3</b>: 120&#176; rotation"
-msgstr ""
+msgstr "<b>P3</b>: паварот на 120&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1919
+#: ../src/dialogs/clonetiler.cpp:1906
 msgid "<b>P31M</b>: reflection + 120&#176; rotation, dense"
-msgstr ""
+msgstr "<b>P31M</b>: адбіцьцё + паварот на 120&#176;, шчыльна"
 
-#: ../src/dialogs/clonetiler.cpp:1920
+#: ../src/dialogs/clonetiler.cpp:1907
 msgid "<b>P3M1</b>: reflection + 120&#176; rotation, sparse"
-msgstr ""
+msgstr "<b>P3M1</b>: адбіцьцё + паварот на 120&#176;, рэдка"
 
-#: ../src/dialogs/clonetiler.cpp:1921
+#: ../src/dialogs/clonetiler.cpp:1908
 msgid "<b>P6</b>: 60&#176; rotation"
-msgstr ""
+msgstr "<b>P6</b>: паварот на 60&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1922
+#: ../src/dialogs/clonetiler.cpp:1909
 msgid "<b>P6M</b>: reflection + 60&#176; rotation"
-msgstr ""
+msgstr "<b>P6M</b>: адбіцьцё + паварот на 60&#176;"
 
-#: ../src/dialogs/clonetiler.cpp:1950
+#: ../src/dialogs/clonetiler.cpp:1937
 msgid "S_hift"
-msgstr ""
+msgstr "_Зрух"
 
 #. TRANSLATORS: "shift" means: the tiles will be shifted (offset) horizontally by this amount
-#: ../src/dialogs/clonetiler.cpp:1960
+#: ../src/dialogs/clonetiler.cpp:1947
 #, no-c-format
 msgid "<b>Shift X:</b>"
-msgstr ""
+msgstr "<b>Зрух па X:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:1968
+#: ../src/dialogs/clonetiler.cpp:1955
 #, no-c-format
 msgid "Horizontal shift per row (in % of tile width)"
-msgstr ""
+msgstr "Гарызантальны зрух на радок (у % ад шырыні пліткі)"
 
-#: ../src/dialogs/clonetiler.cpp:1976
+#: ../src/dialogs/clonetiler.cpp:1963
 #, no-c-format
 msgid "Horizontal shift per column (in % of tile width)"
-msgstr ""
+msgstr "Гарызантальны зрух на слупок (у % ад шырыні пліткі)"
 
-#: ../src/dialogs/clonetiler.cpp:1983
+#: ../src/dialogs/clonetiler.cpp:1970
 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
+#: ../src/dialogs/clonetiler.cpp:1980
 #, no-c-format
 msgid "<b>Shift Y:</b>"
-msgstr ""
+msgstr "<b>Зрух па Y:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2001
+#: ../src/dialogs/clonetiler.cpp:1988
 #, no-c-format
 msgid "Vertical shift per row (in % of tile height)"
-msgstr ""
+msgstr "Вэртыкальны зрух на радок (у % ад вышыні пліткі)"
 
-#: ../src/dialogs/clonetiler.cpp:2009
+#: ../src/dialogs/clonetiler.cpp:1996
 #, no-c-format
 msgid "Vertical shift per column (in % of tile height)"
-msgstr ""
+msgstr "Вэртыкальны зрух на слупок (у % ад вышыні пліткі)"
 
-#: ../src/dialogs/clonetiler.cpp:2016
+#: ../src/dialogs/clonetiler.cpp:2003
 msgid "Randomize the vertical shift by this percentage"
-msgstr ""
+msgstr "Адвольна зрушыць па вэртыкалі на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2024 ../src/dialogs/clonetiler.cpp:2172
+#: ../src/dialogs/clonetiler.cpp:2011
+#: ../src/dialogs/clonetiler.cpp:2159
 msgid "<b>Exponent:</b>"
-msgstr ""
+msgstr "<b>Ступень:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2031
+#: ../src/dialogs/clonetiler.cpp:2018
 msgid "Whether rows are spaced evenly (1), converge (<1) or diverge (>1)"
-msgstr ""
+msgstr "Прагалы між радкамі раўнамерныя (1), зьмяншаюцца (<1) ці павялічваюцца (>1)"
 
-#: ../src/dialogs/clonetiler.cpp:2038
+#: ../src/dialogs/clonetiler.cpp:2025
 msgid "Whether columns are spaced evenly (1), converge (<1) or diverge (>1)"
-msgstr ""
+msgstr "Прагалы між слупкамі раўнамерныя (1), зьмяншаюцца (<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:2033
+#: ../src/dialogs/clonetiler.cpp:2203
+#: ../src/dialogs/clonetiler.cpp:2280
+#: ../src/dialogs/clonetiler.cpp:2356
+#: ../src/dialogs/clonetiler.cpp:2405
+#: ../src/dialogs/clonetiler.cpp:2536
 msgid "<small>Alternate:</small>"
-msgstr ""
+msgstr "<small>Чаргаваць:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:2052
+#: ../src/dialogs/clonetiler.cpp:2039
 msgid "Alternate the sign of shifts for each row"
-msgstr ""
+msgstr "Чаргаваць знакі зрухаў для кожнага радка"
 
-#: ../src/dialogs/clonetiler.cpp:2057
+#: ../src/dialogs/clonetiler.cpp:2044
 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:2311
+#: ../src/dialogs/clonetiler.cpp:2051
+#: ../src/dialogs/clonetiler.cpp:2221
+#: ../src/dialogs/clonetiler.cpp:2298
 msgid "<small>Cumulate:</small>"
-msgstr ""
+msgstr "<small>Назапашваць:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:2070
+#: ../src/dialogs/clonetiler.cpp:2057
 msgid "Cumulate the shifts for each row"
-msgstr ""
+msgstr "Назапашваць зрухі ў кожны радку"
 
-#: ../src/dialogs/clonetiler.cpp:2075
+#: ../src/dialogs/clonetiler.cpp:2062
 msgid "Cumulate the shifts for each column"
-msgstr ""
+msgstr "Назапашваць зрухі ў кожны слупку"
 
 #. TRANSLATORS: "Cumulate" is a verb here
-#: ../src/dialogs/clonetiler.cpp:2082
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2069
 msgid "<small>Exclude tile:</small>"
-msgstr "Градыент не вылучаны"
+msgstr "<small>Выключыць элемэнт:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:2088
+#: ../src/dialogs/clonetiler.cpp:2075
 msgid "Exclude tile height in shift"
-msgstr ""
+msgstr "Выключыць вышыню элемэнта са зруху"
 
-#: ../src/dialogs/clonetiler.cpp:2093
+#: ../src/dialogs/clonetiler.cpp:2080
 msgid "Exclude tile width in shift"
-msgstr ""
+msgstr "Выключыць шырыню элемэнта са зруху"
 
-#: ../src/dialogs/clonetiler.cpp:2102
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2089
 msgid "Sc_ale"
-msgstr "Маштаб"
+msgstr "_Памер"
 
-#: ../src/dialogs/clonetiler.cpp:2110
+#: ../src/dialogs/clonetiler.cpp:2097
 msgid "<b>Scale X:</b>"
-msgstr ""
+msgstr "<b>Памер па X:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2118
+#: ../src/dialogs/clonetiler.cpp:2105
 #, no-c-format
 msgid "Horizontal scale per row (in % of tile width)"
-msgstr ""
+msgstr "Зьмяненьне шырыні элемэнта на радок (у % ад яе)"
 
-#: ../src/dialogs/clonetiler.cpp:2126
+#: ../src/dialogs/clonetiler.cpp:2113
 #, no-c-format
 msgid "Horizontal scale per column (in % of tile width)"
-msgstr ""
+msgstr "Зьмяненьне шырыні элемэнта на слупок (у % ад яе)"
 
-#: ../src/dialogs/clonetiler.cpp:2133
+#: ../src/dialogs/clonetiler.cpp:2120
 msgid "Randomize the horizontal scale by this percentage"
-msgstr ""
+msgstr "Адвольна зьмяніць шырыню на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2141
+#: ../src/dialogs/clonetiler.cpp:2128
 msgid "<b>Scale Y:</b>"
-msgstr ""
+msgstr "<b>Памер па Y:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2149
+#: ../src/dialogs/clonetiler.cpp:2136
 #, no-c-format
 msgid "Vertical scale per row (in % of tile height)"
-msgstr ""
+msgstr "Зьмяненьне вышыні элемэнта на радок (у % ад яе)"
 
-#: ../src/dialogs/clonetiler.cpp:2157
+#: ../src/dialogs/clonetiler.cpp:2144
 #, no-c-format
 msgid "Vertical scale per column (in % of tile height)"
-msgstr ""
+msgstr "Зьмяненьне вышыні элемэнта на слупок (у % ад яе)"
 
-#: ../src/dialogs/clonetiler.cpp:2164
+#: ../src/dialogs/clonetiler.cpp:2151
 msgid "Randomize the vertical scale by this percentage"
-msgstr ""
+msgstr "Адвольна зьмяніць вышыню на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2179
+#: ../src/dialogs/clonetiler.cpp:2166
 msgid "Whether row scaling is uniform (1), converge (<1) or diverge (>1)"
-msgstr ""
+msgstr "Зьмяненьне памеру ў радку аднолькавае (1), са зьмяншэньнем (<1) ці павелічэньнем (>1)"
 
-#: ../src/dialogs/clonetiler.cpp:2186
+#: ../src/dialogs/clonetiler.cpp:2173
 msgid "Whether column scaling is uniform (1), converge (<1) or diverge (>1)"
-msgstr ""
+msgstr "Зьмяненьне памеру ў слупку аднолькавае (1), са зьмяншэньнем (<1) ці павелічэньнем (>1)"
 
-#: ../src/dialogs/clonetiler.cpp:2194
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2181
 msgid "<b>Base:</b>"
-msgstr "Кут:"
+msgstr "<b>Аснова:</b>"
 
-#: ../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:2188
+#: ../src/dialogs/clonetiler.cpp:2195
+msgid "Base for a logarithmic spiral: not used (0), converge (<1), or diverge (>1)"
+msgstr "Аснова лягарытмічнай сьпіралі: не ўжываецца (0), сыходзіцца (<1), разыходзіцца (>1)"
 
-#: ../src/dialogs/clonetiler.cpp:2222
+#: ../src/dialogs/clonetiler.cpp:2209
 msgid "Alternate the sign of scales for each row"
-msgstr ""
+msgstr "Чаргаваць знакі зьмяненьня памеру ў кожным радку"
 
-#: ../src/dialogs/clonetiler.cpp:2227
+#: ../src/dialogs/clonetiler.cpp:2214
 msgid "Alternate the sign of scales for each column"
-msgstr ""
+msgstr "Чаргаваць знакі зьмяненьня памера ў кожным слупку"
 
-#: ../src/dialogs/clonetiler.cpp:2240
+#: ../src/dialogs/clonetiler.cpp:2227
 msgid "Cumulate the scales for each row"
-msgstr ""
+msgstr "Назапашваць зьмяненьне памеру ў кожным радку"
 
-#: ../src/dialogs/clonetiler.cpp:2245
+#: ../src/dialogs/clonetiler.cpp:2232
 msgid "Cumulate the scales for each column"
-msgstr ""
+msgstr "Назапашваць зьмяненьне памеру ў кожным слупку"
 
-#: ../src/dialogs/clonetiler.cpp:2254
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2241
 msgid "_Rotation"
-msgstr "Павярнуць"
+msgstr "Па_варот"
 
-#: ../src/dialogs/clonetiler.cpp:2262
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2249
 msgid "<b>Angle:</b>"
-msgstr "Кут:"
+msgstr "<b>Вугал:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2270
+#: ../src/dialogs/clonetiler.cpp:2257
 #, no-c-format
 msgid "Rotate tiles by this angle for each row"
-msgstr ""
+msgstr "Павернуць элемэнты кожнага радка на гэты вугал"
 
-#: ../src/dialogs/clonetiler.cpp:2278
+#: ../src/dialogs/clonetiler.cpp:2265
 #, no-c-format
 msgid "Rotate tiles by this angle for each column"
-msgstr ""
+msgstr "Павернуць элемэнты кожнага слупка на гэты вугал"
 
-#: ../src/dialogs/clonetiler.cpp:2285
+#: ../src/dialogs/clonetiler.cpp:2272
 msgid "Randomize the rotation angle by this percentage"
-msgstr ""
+msgstr "Адвольна зьмяніць вугал павароту на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2299
+#: ../src/dialogs/clonetiler.cpp:2286
 msgid "Alternate the rotation direction for each row"
-msgstr ""
+msgstr "У кожным радку чаргаваць знак напрамку павароту"
 
-#: ../src/dialogs/clonetiler.cpp:2304
+#: ../src/dialogs/clonetiler.cpp:2291
 msgid "Alternate the rotation direction for each column"
-msgstr ""
+msgstr "У кожным слупку чаргаваць знак напрамку павароту"
 
-#: ../src/dialogs/clonetiler.cpp:2317
+#: ../src/dialogs/clonetiler.cpp:2304
 msgid "Cumulate the rotation for each row"
-msgstr ""
+msgstr "Назапашваць паварот у кожным радку"
 
-#: ../src/dialogs/clonetiler.cpp:2322
+#: ../src/dialogs/clonetiler.cpp:2309
 msgid "Cumulate the rotation for each column"
-msgstr ""
+msgstr "Назапашваць паварот у кожным слупку"
 
-#: ../src/dialogs/clonetiler.cpp:2331
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2318
 msgid "_Blur & opacity"
-msgstr "Зацямненьне:"
+msgstr "_Размыцьцё й непразрыстасьць"
 
-#: ../src/dialogs/clonetiler.cpp:2340
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2327
 msgid "<b>Blur:</b>"
-msgstr "Кут:"
+msgstr "<b>Размыцьцё:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2347
+#: ../src/dialogs/clonetiler.cpp:2334
 msgid "Blur tiles by this percentage for each row"
-msgstr ""
+msgstr "У кожным радку размыць элемэнт на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2354
+#: ../src/dialogs/clonetiler.cpp:2341
 msgid "Blur tiles by this percentage for each column"
-msgstr ""
+msgstr "У кожным слупку размыць элемэнт на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2361
+#: ../src/dialogs/clonetiler.cpp:2348
 msgid "Randomize the tile blur by this percentage"
-msgstr ""
+msgstr "Адвольна размыць плітку на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2375
+#: ../src/dialogs/clonetiler.cpp:2362
 msgid "Alternate the sign of blur change for each row"
-msgstr ""
+msgstr "У кожным радку чаргаваць знак зьмены размыцьця"
 
-#: ../src/dialogs/clonetiler.cpp:2380
+#: ../src/dialogs/clonetiler.cpp:2367
 msgid "Alternate the sign of blur change for each column"
-msgstr ""
+msgstr "У кожным слупку чаргаваць знак зьмены размыцьця"
 
-#: ../src/dialogs/clonetiler.cpp:2389
+#: ../src/dialogs/clonetiler.cpp:2376
 msgid "<b>Fade out:</b>"
-msgstr ""
+msgstr "<b>Зьмяншэньне:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2396
+#: ../src/dialogs/clonetiler.cpp:2383
 msgid "Decrease tile opacity by this percentage for each row"
-msgstr ""
+msgstr "У кожным радку зьменшыць непразрыстасьць на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2403
+#: ../src/dialogs/clonetiler.cpp:2390
 msgid "Decrease tile opacity by this percentage for each column"
-msgstr ""
+msgstr "У кожным слупку зьменшыць непразрыстасьць на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2410
+#: ../src/dialogs/clonetiler.cpp:2397
 msgid "Randomize the tile opacity by this percentage"
-msgstr ""
+msgstr "Адвольна зьмяніць непразрыстасьць пліткі на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2424
+#: ../src/dialogs/clonetiler.cpp:2411
 msgid "Alternate the sign of opacity change for each row"
-msgstr ""
+msgstr "У кожным радку чаргаваць знак зьмены непразрыстасьці"
 
-#: ../src/dialogs/clonetiler.cpp:2429
+#: ../src/dialogs/clonetiler.cpp:2416
 msgid "Alternate the sign of opacity change for each column"
-msgstr ""
+msgstr "У кожным слупку чаргаваць знак зьмены непразрыстасьці"
 
-#: ../src/dialogs/clonetiler.cpp:2437
+#: ../src/dialogs/clonetiler.cpp:2424
 msgid "Co_lor"
-msgstr ""
+msgstr "_Колер"
 
-#: ../src/dialogs/clonetiler.cpp:2442
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2429
 msgid "Initial color: "
-msgstr "Ð\9aолеÑ\80 Ñ\81еÑ\82кÑ\96:"
+msgstr "Ð\9fаÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80:"
 
-#: ../src/dialogs/clonetiler.cpp:2446
+#: ../src/dialogs/clonetiler.cpp:2433
 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)"
-msgstr ""
+#: ../src/dialogs/clonetiler.cpp:2433
+msgid "Initial color for clones (works only if the original has unset fill or stroke)"
+msgstr "Пачатковы колер клонаў (працуе толькі, калі арыґінал ня мае запаўненьня ці контура)"
 
-#: ../src/dialogs/clonetiler.cpp:2461
+#: ../src/dialogs/clonetiler.cpp:2448
 msgid "<b>H:</b>"
-msgstr ""
+msgstr "<b>А:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2468
+#: ../src/dialogs/clonetiler.cpp:2455
 msgid "Change the tile hue by this percentage for each row"
-msgstr ""
+msgstr "У кожным радку зьмяніць адценьне колера на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2475
+#: ../src/dialogs/clonetiler.cpp:2462
 msgid "Change the tile hue by this percentage for each column"
-msgstr ""
+msgstr "У кожным слупку зьмяніць адценьне колера на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2482
+#: ../src/dialogs/clonetiler.cpp:2469
 msgid "Randomize the tile hue by this percentage"
-msgstr ""
+msgstr "Адвольна зьмяніць адценьне пліткі на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2491
+#: ../src/dialogs/clonetiler.cpp:2478
 msgid "<b>S:</b>"
-msgstr ""
+msgstr "<b>Н:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2498
+#: ../src/dialogs/clonetiler.cpp:2485
 msgid "Change the color saturation by this percentage for each row"
-msgstr ""
+msgstr "У кожным радку зьмяніць насычанасьць колера на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2505
+#: ../src/dialogs/clonetiler.cpp:2492
 msgid "Change the color saturation by this percentage for each column"
-msgstr ""
+msgstr "У кожным слупку зьмяніць насычанасьць колера на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2512
+#: ../src/dialogs/clonetiler.cpp:2499
 msgid "Randomize the color saturation by this percentage"
-msgstr ""
+msgstr "Адвольна зьмяніць насычанасьць колера на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2520
+#: ../src/dialogs/clonetiler.cpp:2507
 msgid "<b>L:</b>"
-msgstr ""
+msgstr "<b>С:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2527
+#: ../src/dialogs/clonetiler.cpp:2514
 msgid "Change the color lightness by this percentage for each row"
-msgstr ""
+msgstr "У кожным радку зьмяніць сьветласьць колера на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2534
+#: ../src/dialogs/clonetiler.cpp:2521
 msgid "Change the color lightness by this percentage for each column"
-msgstr ""
+msgstr "У кожным слупку зьмяніць сьветласьць колера на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2541
+#: ../src/dialogs/clonetiler.cpp:2528
 msgid "Randomize the color lightness by this percentage"
-msgstr ""
+msgstr "Адвольна зьмяніць сьветласьць колера на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2555
+#: ../src/dialogs/clonetiler.cpp:2542
 msgid "Alternate the sign of color changes for each row"
-msgstr ""
+msgstr "У кожным радку чаргаваць знак зьмены колера"
 
-#: ../src/dialogs/clonetiler.cpp:2560
+#: ../src/dialogs/clonetiler.cpp:2547
 msgid "Alternate the sign of color changes for each column"
-msgstr ""
+msgstr "У кожным слупку чаргаваць знак зьмены колера"
 
-#: ../src/dialogs/clonetiler.cpp:2568
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2555
 msgid "_Trace"
-msgstr "Трасыраваць"
+msgstr "_Абвесьці"
 
-#: ../src/dialogs/clonetiler.cpp:2575
+#: ../src/dialogs/clonetiler.cpp:2562
 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"
-msgstr ""
+#: ../src/dialogs/clonetiler.cpp:2566
+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
+#: ../src/dialogs/clonetiler.cpp:2580
 msgid "1. Pick from the drawing:"
-msgstr ""
+msgstr "1. Узяць з рысунка:"
 
-#: ../src/dialogs/clonetiler.cpp:2604 ../src/dialogs/clonetiler.cpp:2751
+#: ../src/dialogs/clonetiler.cpp:2591
+#: ../src/dialogs/clonetiler.cpp:2738
 #: ../src/extension/internal/bitmap/colorize.cpp:51
 #: ../share/extensions/color_brighter.inx.h:2
 #: ../share/extensions/color_custom.inx.h:2
@@ -689,1181 +670,1151 @@ msgstr ""
 #: ../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
-#, fuzzy
+#: ../share/extensions/color_replace.inx.h:2
 msgid "Color"
-msgstr "ФаÑ\80баваÑ\86Ñ\8c"
+msgstr "Ð\9aолеÑ\80"
 
-#: ../src/dialogs/clonetiler.cpp:2605
+#: ../src/dialogs/clonetiler.cpp:2592
 msgid "Pick the visible color and opacity"
-msgstr ""
+msgstr "Узяць бачны колер і непразрыстасьць"
 
-#: ../src/dialogs/clonetiler.cpp:2612 ../src/dialogs/clonetiler.cpp:2761
+#: ../src/dialogs/clonetiler.cpp:2599
+#: ../src/dialogs/clonetiler.cpp:2748
 #: ../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
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2238
+#: ../src/widgets/toolbox.cpp:3186
 msgid "Opacity"
-msgstr "Ð\97аÑ\86Ñ\8fмненÑ\8cне:"
+msgstr "Ð\9dепÑ\80азÑ\80Ñ\8bÑ\81Ñ\82аÑ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/dialogs/clonetiler.cpp:2613
+#: ../src/dialogs/clonetiler.cpp:2600
 msgid "Pick the total accumulated opacity"
-msgstr ""
+msgstr "Узяць сумарную непразрыстасьць"
 
-#: ../src/dialogs/clonetiler.cpp:2620
+#: ../src/dialogs/clonetiler.cpp:2607
 msgid "R"
-msgstr ""
+msgstr "Ч"
 
-#: ../src/dialogs/clonetiler.cpp:2621
+#: ../src/dialogs/clonetiler.cpp:2608
 msgid "Pick the Red component of the color"
-msgstr ""
+msgstr "Узяць чырвоны складнік колера"
 
-#: ../src/dialogs/clonetiler.cpp:2628
+#: ../src/dialogs/clonetiler.cpp:2615
 msgid "G"
-msgstr ""
+msgstr "З"
 
-#: ../src/dialogs/clonetiler.cpp:2629
+#: ../src/dialogs/clonetiler.cpp:2616
 msgid "Pick the Green component of the color"
-msgstr ""
+msgstr "Узяць зялёны складнік колера"
 
-#: ../src/dialogs/clonetiler.cpp:2636
+#: ../src/dialogs/clonetiler.cpp:2623
 msgid "B"
-msgstr ""
+msgstr "С"
 
-#: ../src/dialogs/clonetiler.cpp:2637
+#: ../src/dialogs/clonetiler.cpp:2624
 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
+#: ../src/dialogs/clonetiler.cpp:2633
 msgid "clonetiler|H"
-msgstr ""
+msgstr "А"
 
-#: ../src/dialogs/clonetiler.cpp:2647
+#: ../src/dialogs/clonetiler.cpp:2634
 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
+#: ../src/dialogs/clonetiler.cpp:2643
 msgid "clonetiler|S"
-msgstr ""
+msgstr "Н"
 
-#: ../src/dialogs/clonetiler.cpp:2657
+#: ../src/dialogs/clonetiler.cpp:2644
 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
+#: ../src/dialogs/clonetiler.cpp:2653
 msgid "clonetiler|L"
-msgstr ""
+msgstr "С"
 
-#: ../src/dialogs/clonetiler.cpp:2667
+#: ../src/dialogs/clonetiler.cpp:2654
 msgid "Pick the lightness of the color"
-msgstr ""
+msgstr "Узяць сьветласьць колера"
 
-#: ../src/dialogs/clonetiler.cpp:2677
+#: ../src/dialogs/clonetiler.cpp:2664
 msgid "2. Tweak the picked value:"
-msgstr ""
+msgstr "2. Зьмяніць узятае значэньне:"
 
-#: ../src/dialogs/clonetiler.cpp:2687
+#: ../src/dialogs/clonetiler.cpp:2674
 msgid "Gamma-correct:"
-msgstr ""
+msgstr "Ґамакарэкцыя:"
 
-#: ../src/dialogs/clonetiler.cpp:2692
+#: ../src/dialogs/clonetiler.cpp:2679
 msgid "Shift the mid-range of the picked value upwards (>0) or downwards (<0)"
 msgstr ""
 
-#: ../src/dialogs/clonetiler.cpp:2699
+#: ../src/dialogs/clonetiler.cpp:2686
 msgid "Randomize:"
-msgstr ""
+msgstr "Адвольнасьць:"
 
-#: ../src/dialogs/clonetiler.cpp:2704
+#: ../src/dialogs/clonetiler.cpp:2691
 msgid "Randomize the picked value by this percentage"
-msgstr ""
+msgstr "Адвольна зьмяніць узятае значэньне на гэты адсотак"
 
-#: ../src/dialogs/clonetiler.cpp:2711
+#: ../src/dialogs/clonetiler.cpp:2698
 msgid "Invert:"
-msgstr ""
+msgstr "Інвэртаваць:"
 
-#: ../src/dialogs/clonetiler.cpp:2715
+#: ../src/dialogs/clonetiler.cpp:2702
 msgid "Invert the picked value"
-msgstr ""
+msgstr "Інвэртаваць узятае значэньне"
 
-#: ../src/dialogs/clonetiler.cpp:2721
+#: ../src/dialogs/clonetiler.cpp:2708
 msgid "3. Apply the value to the clones':"
-msgstr ""
+msgstr "3. Ужыць значэньне да клонавых:"
 
-#: ../src/dialogs/clonetiler.cpp:2731
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2718
 msgid "Presence"
-msgstr "Ð\97Ñ\8cбеÑ\80агÑ\87Ñ\8b"
+msgstr "Ð\9dаÑ\8fÑ\9eнаÑ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/dialogs/clonetiler.cpp:2734
-msgid ""
-"Each clone is created with the probability determined by the picked value in "
-"that point"
-msgstr ""
+#: ../src/dialogs/clonetiler.cpp:2721
+msgid "Each clone is created with the probability determined by the picked value in that point"
+msgstr "Кожны клон будзе створаны зь імавернасьцю, вызначанай значэньнем, узятым у гэтым пункце"
 
-#: ../src/dialogs/clonetiler.cpp:2741
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2728
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2214
 msgid "Size"
-msgstr "Ð\91акÑ\96:"
+msgstr "Ð\9fамеÑ\80"
 
-#: ../src/dialogs/clonetiler.cpp:2744
+#: ../src/dialogs/clonetiler.cpp:2731
 msgid "Each clone's size is determined by the picked value in that point"
-msgstr ""
+msgstr "Памер кожнага клона вызначаецца значэньнем, узятым у гэтым пункце"
 
-#: ../src/dialogs/clonetiler.cpp:2754
-msgid ""
-"Each clone is painted by the picked color (the original must have unset fill "
-"or stroke)"
-msgstr ""
+#: ../src/dialogs/clonetiler.cpp:2741
+msgid "Each clone is painted by the picked color (the original must have unset fill or stroke)"
+msgstr "Кожны клон будзе размаляваны ўзятым колерам (арыґінал ня мусіць мець запаўненьня ані контура)"
 
-#: ../src/dialogs/clonetiler.cpp:2764
+#: ../src/dialogs/clonetiler.cpp:2751
 msgid "Each clone's opacity is determined by the picked value in that point"
-msgstr ""
+msgstr "Непразрыстасьць кожнага клона вызначаецца значэньнем, узятым у гэтым пункце"
 
-#: ../src/dialogs/clonetiler.cpp:2791
+#: ../src/dialogs/clonetiler.cpp:2778
 msgid "How many rows in the tiling"
-msgstr ""
+msgstr "Колькі радкоў у замошчваньні"
 
-#: ../src/dialogs/clonetiler.cpp:2811
+#: ../src/dialogs/clonetiler.cpp:2798
 msgid "How many columns in the tiling"
-msgstr ""
+msgstr "Колькі слупкоў у замошчваньні"
 
-#: ../src/dialogs/clonetiler.cpp:2841
+#: ../src/dialogs/clonetiler.cpp:2828
 msgid "Width of the rectangle to be filled"
-msgstr ""
+msgstr "Шырыня прастакутніка, які трэба запоўніць"
 
-#: ../src/dialogs/clonetiler.cpp:2866
+#: ../src/dialogs/clonetiler.cpp:2853
 msgid "Height of the rectangle to be filled"
-msgstr ""
+msgstr "Вышыня прастакутніка, які трэба запоўніць"
 
-#: ../src/dialogs/clonetiler.cpp:2881
+#: ../src/dialogs/clonetiler.cpp:2868
 msgid "Rows, columns: "
-msgstr ""
+msgstr "Радкоў, слупкоў:"
 
-#: ../src/dialogs/clonetiler.cpp:2882
+#: ../src/dialogs/clonetiler.cpp:2869
 msgid "Create the specified number of rows and columns"
-msgstr ""
+msgstr "Стварыць вызначаную колькасьць радкоў і слупкоў"
 
-#: ../src/dialogs/clonetiler.cpp:2891
+#: ../src/dialogs/clonetiler.cpp:2878
 msgid "Width, height: "
-msgstr ""
+msgstr "Шырыня, вышыня:"
 
-#: ../src/dialogs/clonetiler.cpp:2892
+#: ../src/dialogs/clonetiler.cpp:2879
 msgid "Fill the specified width and height with the tiling"
-msgstr ""
+msgstr "Запоўніць мазаікай вызначаную вышыню й шырыню"
 
-#: ../src/dialogs/clonetiler.cpp:2908
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2895
 msgid "Use saved size and position of the tile"
-msgstr "Ð\9fамеÑ\80 Ñ\96 Ð¿Ð°Ð·Ñ\8bÑ\86Ñ\8bÑ\8f Ð°Ð±'екта"
+msgstr "УжÑ\8bваÑ\86Ñ\8c Ð·Ð°Ñ\85аванÑ\8bÑ\8f Ð¿Ð°Ð¼ÐµÑ\80 Ñ\96 Ð¼ÐµÑ\81Ñ\86а Ñ\8dлемÑ\8dнта"
 
-#: ../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"
+#: ../src/dialogs/clonetiler.cpp:2898
+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
+#: ../src/dialogs/clonetiler.cpp:2922
 msgid " <b>_Create</b> "
-msgstr ""
+msgstr "<b>_Стварыць</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2937
+#: ../src/dialogs/clonetiler.cpp:2924
 msgid "Create and tile the clones of the selection"
-msgstr ""
+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
+#: ../src/dialogs/clonetiler.cpp:2939
 msgid " _Unclump "
-msgstr ""
+msgstr "_Разьляпіць"
 
-#: ../src/dialogs/clonetiler.cpp:2953
+#: ../src/dialogs/clonetiler.cpp:2940
 msgid "Spread out clones to reduce clumping; can be applied repeatedly"
 msgstr ""
 
-#: ../src/dialogs/clonetiler.cpp:2959
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:2946
 msgid " Re_move "
-msgstr "Выдаліць лучыва"
+msgstr " Прыбраць"
 
-#: ../src/dialogs/clonetiler.cpp:2960
+#: ../src/dialogs/clonetiler.cpp:2947
 msgid "Remove existing tiled clones of the selected object (siblings only)"
 msgstr ""
 
-#: ../src/dialogs/clonetiler.cpp:2976
+#: ../src/dialogs/clonetiler.cpp:2963
 msgid " R_eset "
-msgstr ""
+msgstr " _Вернуць"
 
 #. 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"
-msgstr ""
+#: ../src/dialogs/clonetiler.cpp:2965
+msgid "Reset all shifts, scales, rotates, opacity and color changes in the dialog to zero"
+msgstr "Вернуць усе зьмены зруху, памеру, павароту, колеру й непразрыстасьці ў нуль"
 
 #: ../src/dialogs/debugdialog.cpp:135
 msgid "Messages"
-msgstr ""
+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
-#, fuzzy
+#: ../src/dialogs/debugdialog.cpp:141
+#: ../src/menus-skeleton.h:16
+#: ../src/ui/dialog/messages.cpp:54
+#: ../src/ui/dialog/scriptdialog.cpp:201
 msgid "_File"
-msgstr "Файл"
+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/ui/dialog/scriptdialog.cpp:209
-#, fuzzy
+#: ../src/dialogs/debugdialog.cpp:142
+#: ../src/dialogs/find.cpp:751
+#: ../src/ui/dialog/find.cpp:83
+#: ../src/ui/dialog/messages.cpp:55
+#: ../src/ui/dialog/scriptdialog.cpp:202
 msgid "_Clear"
-msgstr "Ачысьціць усё"
+msgstr "_Ачысьціць"
 
-#: ../src/dialogs/debugdialog.cpp:144 ../src/ui/dialog/messages.cpp:57
+#: ../src/dialogs/debugdialog.cpp:144
+#: ../src/ui/dialog/messages.cpp:57
+#, fuzzy
 msgid "Capture log messages"
-msgstr ""
+msgstr "%ld лістоў."
 
-#: ../src/dialogs/debugdialog.cpp:146 ../src/ui/dialog/messages.cpp:59
+#: ../src/dialogs/debugdialog.cpp:146
+#: ../src/ui/dialog/messages.cpp:59
+#, fuzzy
 msgid "Release log messages"
-msgstr ""
+msgstr "%ld лістоў."
 
 #: ../src/dialogs/eek-color-def.cpp:56
 #: ../src/widgets/gradient-selector.cpp:162
-#, fuzzy
 msgid "none"
-msgstr "Ð\9dяма"
+msgstr "няма"
 
-#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2532
-#, fuzzy
+#: ../src/dialogs/export.cpp:143
+#: ../src/verbs.cpp:2484
 msgid "_Page"
-msgstr "Аркуш"
+msgstr "_Старонка"
 
-#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2536
-#, fuzzy
+#: ../src/dialogs/export.cpp:143
+#: ../src/verbs.cpp:2488
 msgid "_Drawing"
-msgstr "Рысаваньне"
+msgstr "_Рысунак"
 
-#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2538
-#, fuzzy
+#: ../src/dialogs/export.cpp:143
+#: ../src/verbs.cpp:2490
 msgid "_Selection"
-msgstr "Вылучэньне"
+msgstr "_Вылучэньне"
 
 #: ../src/dialogs/export.cpp:143
-#, fuzzy
 msgid "_Custom"
-msgstr "Пазначае карыстальнік"
+msgstr "_Свой"
 
 #: ../src/dialogs/export.cpp:267
 msgid "<big><b>Export area</b></big>"
-msgstr ""
+msgstr "<big><b>Экспартаваньне вобласьці</b></big>"
 
 #: ../src/dialogs/export.cpp:281
 msgid "Units:"
 msgstr "Адзінкі:"
 
 #: ../src/dialogs/export.cpp:309
-#, fuzzy
 msgid "_x0:"
-msgstr "x0:"
+msgstr "_x0:"
 
 #: ../src/dialogs/export.cpp:314
-#, fuzzy
 msgid "x_1:"
-msgstr "x1:"
+msgstr "x_1:"
 
 #. 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
+#: ../src/dialogs/export.cpp:319
+#: ../src/dialogs/object-attributes.cpp:59
+#: ../src/dialogs/stroke-style.cpp:1090
+#: ../src/widgets/toolbox.cpp:3026
+#: ../src/widgets/toolbox.cpp:3331
 msgid "Width:"
 msgstr "Шырыня:"
 
 #: ../src/dialogs/export.cpp:325
-#, fuzzy
 msgid "_y0:"
-msgstr "y0:"
+msgstr "_y0:"
 
 #: ../src/dialogs/export.cpp:330
-#, fuzzy
 msgid "y_1:"
-msgstr "y1:"
+msgstr "y_1:"
 
-#: ../src/dialogs/export.cpp:335 ../src/dialogs/export.cpp:495
-#: ../src/dialogs/object-attributes.cpp:61
-#: ../src/dialogs/object-attributes.cpp:69
+#: ../src/dialogs/export.cpp:335
+#: ../src/dialogs/export.cpp:495
+#: ../src/dialogs/object-attributes.cpp:60
 msgid "Height:"
 msgstr "Вышыня:"
 
 #: ../src/dialogs/export.cpp:466
 msgid "<big><b>Bitmap size</b></big>"
-msgstr ""
+msgstr "<big><b>Памер растра</b></big>"
 
-#: ../src/dialogs/export.cpp:479 ../src/ui/widget/page-sizer.cpp:191
-#, fuzzy
+#: ../src/dialogs/export.cpp:479
+#: ../src/ui/widget/page-sizer.cpp:301
 msgid "_Width:"
-msgstr "Шырыня:"
+msgstr "_Шырыня:"
 
-#: ../src/dialogs/export.cpp:479 ../src/dialogs/export.cpp:495
-#, fuzzy
+#: ../src/dialogs/export.cpp:479
+#: ../src/dialogs/export.cpp:495
 msgid "pixels at"
-msgstr "пÑ\96кÑ\81Ñ\8dлÑ\96"
+msgstr "пÑ\96кÑ\81Ñ\8dлÑ\8fÑ\9e Ð¿Ñ\80Ñ\8b"
 
 #: ../src/dialogs/export.cpp:489
-#, fuzzy
 msgid "dp_i"
-msgstr "dpi"
+msgstr "dp_i"
 
-#: ../src/dialogs/export.cpp:508 ../src/ui/dialog/inkscape-preferences.cpp:673
+#: ../src/dialogs/export.cpp:508
+#: ../src/ui/dialog/inkscape-preferences.cpp:647
 msgid "dpi"
 msgstr "dpi"
 
 #. true = has mnemonic
 #: ../src/dialogs/export.cpp:519
 msgid "<big><b>_Filename</b></big>"
-msgstr ""
+msgstr "<big><b>_Назва файла</b></big>"
 
 #: ../src/dialogs/export.cpp:590
 msgid "_Browse..."
-msgstr ""
+msgstr "_Прагледзець…"
 
 #: ../src/dialogs/export.cpp:619
-#, fuzzy
 msgid "Batch export all selected objects"
-msgstr "Ð\9fадвойвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\9fакеÑ\82нÑ\8b Ñ\8dкÑ\81паÑ\80Ñ\82 Ñ\83Ñ\81Ñ\96Ñ\85 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
 
 #: ../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 ""
+msgid "Export each selected object into its own PNG file, using export hints if any (caution, overwrites without asking!)"
+msgstr "Экспартаваць кожны вылучаны абʼект у ягоны ўласны файл PNG, выкарыстоўваючы намінкі экспартаваньня, калі ёсьць (увага, перапісвае не пытаючыся!)"
 
 #: ../src/dialogs/export.cpp:631
-#, fuzzy
 msgid "Hide all except selected"
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "СÑ\85аваÑ\86Ñ\8c Ñ\83Ñ\81Ñ\91, Ð°Ð¿Ñ\80оÑ\87 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85"
 
 #: ../src/dialogs/export.cpp:635
 msgid "In the exported image, hide all objects except those that are selected"
-msgstr ""
+msgstr "У экпартаваным відарысе, хаваць усе абʼекты, апрача выбраных"
 
 #: ../src/dialogs/export.cpp:652
-#, fuzzy
 msgid "_Export"
-msgstr "Экспартаваць"
+msgstr "_Экспартаваць"
 
 #: ../src/dialogs/export.cpp:656
 msgid "Export the bitmap file with these settings"
-msgstr ""
+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] "Ð\9fадвойвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
-msgstr[1] "Ð\9fадвойвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
-msgstr[2] "Ð\9fадвойвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr[0] "Ð\9fакеÑ\82нÑ\8b Ñ\8dкÑ\81паÑ\80Ñ\82 %d Ð²Ñ\8bлÑ\83Ñ\87анага Ð°Ð±Ê¼ÐµÐºÑ\82а"
+msgstr[1] "Ð\9fакеÑ\82нÑ\8b Ñ\8dкÑ\81паÑ\80Ñ\82 %d Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
+msgstr[2] "Ð\9fакеÑ\82нÑ\8b Ñ\8dкÑ\81паÑ\80Ñ\82 %d Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
 
 #: ../src/dialogs/export.cpp:1014
-#, fuzzy
 msgid "Export in progress"
-msgstr "Ð\9fÑ\80аÑ\81Ñ\82оÑ\80а Ñ\8dкÑ\81паÑ\80Ñ\82аванÑ\8cнÑ\8f"
+msgstr "Ð\90дбÑ\8bваеÑ\86Ñ\86а Ñ\8dкÑ\81паÑ\80Ñ\82аванÑ\8cне"
 
 #: ../src/dialogs/export.cpp:1084
-#, fuzzy, c-format
+#, c-format
 msgid "Exporting %d files"
-msgstr "Экспартуе файл png"
+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 ""
+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 ""
+msgstr "Каталёґ %s не існуе або гэта не каталёґ.\n"
 
 #: ../src/dialogs/export.cpp:1182
-#, fuzzy, c-format
+#, c-format
 msgid "Exporting %s (%lu x %lu)"
-msgstr "Ð\9aалÑ\8fÑ\80овÑ\8b Ð²Ñ\96даÑ\80Ñ\8bÑ\81 %d x %d: %s"
+msgstr "ЭкÑ\81паÑ\80Ñ\82аванÑ\8cне %s Ñ\84айлаÑ\9e (%lu Ã\97 %lu)"
 
 #: ../src/dialogs/export.cpp:1303
-#, fuzzy
 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 "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\97адаÑ\86Ñ\8c ÐºÐ¾Ð»ÐµÑ\80 Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cнÑ\8f"
 
-#: ../src/dialogs/fill-style.cpp:385 ../src/ui/widget/selected-style.cpp:255
-#: ../src/ui/widget/selected-style.cpp:479
-#, fuzzy
+#: ../src/dialogs/fill-style.cpp:385
+#: ../src/ui/widget/selected-style.cpp:251
+#: ../src/ui/widget/selected-style.cpp:474
 msgid "Remove fill"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cне"
 
 #: ../src/dialogs/fill-style.cpp:466
-#, fuzzy
 msgid "Set gradient on fill"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "Ð\97адаÑ\86Ñ\8c Ò\91Ñ\80адÑ\8bенÑ\82 Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cнÑ\8f"
 
 #: ../src/dialogs/fill-style.cpp:513
-#, fuzzy
 msgid "Set pattern on fill"
-msgstr "УзоÑ\80:"
+msgstr "Ð\97адаÑ\86Ñ\8c Ñ\83зоÑ\80 Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cнÑ\8f"
 
 #. 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
+#: ../src/dialogs/fill-style.cpp:528
+#: ../src/ui/widget/selected-style.cpp:189
+#: ../src/ui/widget/selected-style.cpp:247
+#: ../src/ui/widget/selected-style.cpp:492
+#: ../src/ui/widget/style-swatch.cpp:333
 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:372
+#: ../src/ui/dialog/find.cpp:434
 #, c-format
 msgid "<b>%d</b> object found (out of <b>%d</b>), %s match."
 msgid_plural "<b>%d</b> objects found (out of <b>%d</b>), %s match."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>%d</b> абʼект адшуканы (з <b>%d</b>), %s адпаведнасьць."
+msgstr[1] "<b>%d</b> абʼекты адшуканыя (з <b>%d</b>), %s адпаведнасьць."
+msgstr[2] "<b>%d</b> абʼектаў адшуканыя (з <b>%d</b>), %s адпаведнасьць."
 
-#: ../src/dialogs/find.cpp:375 ../src/ui/dialog/find.cpp:439
-#, fuzzy
+#: ../src/dialogs/find.cpp:375
+#: ../src/ui/dialog/find.cpp:437
 msgid "exact"
-msgstr "Ð\9fÑ\80амакÑ\83Ñ\82нÑ\96к"
+msgstr "дакладнаÑ\8f"
 
-#: ../src/dialogs/find.cpp:375 ../src/ui/dialog/find.cpp:439
-#, fuzzy
+#: ../src/dialogs/find.cpp:375
+#: ../src/ui/dialog/find.cpp:437
 msgid "partial"
-msgstr "Спіраль"
+msgstr "частковая"
 
-#: ../src/dialogs/find.cpp:382 ../src/ui/dialog/find.cpp:446
-#, fuzzy
+#: ../src/dialogs/find.cpp:382
+#: ../src/ui/dialog/find.cpp:444
 msgid "No objects found"
-msgstr "Ð\9dÑ\8fма Ð°Ð±'екÑ\82аÑ\9e"
+msgstr "Ð\9dÑ\96Ñ\8fкÑ\96Ñ\85 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e Ð½Ðµ Ð°Ð´Ñ\88Ñ\83кана."
 
 #: ../src/dialogs/find.cpp:540
-#, fuzzy
 msgid "T_ype: "
-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 "Search in all object types"
-msgstr ""
+msgstr "Шукаць сярод усіх тыпаў абʼектаў"
 
-#: ../src/dialogs/find.cpp:547 ../src/ui/dialog/find.cpp:70
-#, fuzzy
+#: ../src/dialogs/find.cpp:547
+#: ../src/ui/dialog/find.cpp:70
 msgid "All types"
-msgstr "ТÑ\8bп Ñ\84айла:"
+msgstr "УÑ\81е Ñ\82Ñ\8bпÑ\8b"
 
-#: ../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
-#, fuzzy
+#: ../src/dialogs/find.cpp:558
+#: ../src/ui/dialog/find.cpp:71
 msgid "All shapes"
-msgstr "УÑ\81е Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82Ñ\8b Ñ\84оÑ\80мы"
+msgstr "УÑ\81е Ñ\84Ñ\96Ò\91Ñ\83Ñ\80ы"
 
-#: ../src/dialogs/find.cpp:575 ../src/ui/dialog/find.cpp:72
-#, fuzzy
+#: ../src/dialogs/find.cpp:575
+#: ../src/ui/dialog/find.cpp:72
 msgid "Search rectangles"
-msgstr "Прамакутнік"
+msgstr "Пошук прастакутнікаў"
 
-#: ../src/dialogs/find.cpp:575 ../src/ui/dialog/find.cpp:72
-#, fuzzy
+#: ../src/dialogs/find.cpp:575
+#: ../src/ui/dialog/find.cpp:72
 msgid "Rectangles"
-msgstr "Прамакутнік"
+msgstr "Прастакутнікі"
 
-#: ../src/dialogs/find.cpp:580 ../src/ui/dialog/find.cpp:73
-#, fuzzy
+#: ../src/dialogs/find.cpp:580
+#: ../src/ui/dialog/find.cpp:73
 msgid "Search ellipses, arcs, circles"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð´Ñ\83гÑ\96 - Ñ\81Ñ\82ваÑ\80ае ÐºÑ\80Ñ\83гÑ\96, Ñ\8dлÑ\96пÑ\81Ñ\8b Ð¹ Ð´Ñ\83гÑ\96"
+msgstr "Ð\9fоÑ\88Ñ\83к Ñ\8dлÑ\96пÑ\81аÑ\9e, Ð´Ñ\83г Ñ\96 Ð°ÐºÑ\80Ñ\83жнаÑ\81Ñ\8cÑ\86Ñ\8fÑ\9e"
 
-#: ../src/dialogs/find.cpp:580 ../src/ui/dialog/find.cpp:73
-#, fuzzy
+#: ../src/dialogs/find.cpp:580
+#: ../src/ui/dialog/find.cpp:73
 msgid "Ellipses"
-msgstr "Эліпс"
+msgstr "Эліпсы"
 
-#: ../src/dialogs/find.cpp:585 ../src/ui/dialog/find.cpp:74
-#, fuzzy
+#: ../src/dialogs/find.cpp:585
+#: ../src/ui/dialog/find.cpp:74
 msgid "Search stars and polygons"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð·Ð¾Ñ\80кÑ\96 - Ñ\81Ñ\82ваÑ\80ае Ð·Ð¾Ñ\80кÑ\96 Ð¹ Ð¿Ð°Ð»Ñ\96гонÑ\8b"
+msgstr "Ð\9fоÑ\88Ñ\83к Ð·Ð¾Ñ\80ак Ñ\96 Ñ\88маÑ\82кÑ\83Ñ\82нÑ\96каÑ\9e"
 
-#: ../src/dialogs/find.cpp:585 ../src/ui/dialog/find.cpp:74
-#, fuzzy
+#: ../src/dialogs/find.cpp:585
+#: ../src/ui/dialog/find.cpp:74
 msgid "Stars"
-msgstr "Зорка"
+msgstr "Зоркі"
 
-#: ../src/dialogs/find.cpp:590 ../src/ui/dialog/find.cpp:75
-#, fuzzy
+#: ../src/dialogs/find.cpp:590
+#: ../src/ui/dialog/find.cpp:75
 msgid "Search spirals"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fоÑ\88Ñ\83к Ñ\81Ñ\8cпÑ\96Ñ\80алÑ\8fÑ\9e"
 
-#: ../src/dialogs/find.cpp:590 ../src/ui/dialog/find.cpp:75
-#, fuzzy
+#: ../src/dialogs/find.cpp:590
+#: ../src/ui/dialog/find.cpp:75
 msgid "Spirals"
-msgstr "СпÑ\96Ñ\80алÑ\8c"
+msgstr "СпÑ\96Ñ\80алÑ\96"
 
 #. 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 ""
+msgstr "Шукаць шляхі, лініі, ламаныя"
 
-#: ../src/dialogs/find.cpp:603 ../src/ui/dialog/find.cpp:76
-#, fuzzy
+#: ../src/dialogs/find.cpp:603
+#: ../src/ui/dialog/find.cpp:76
 msgid "Paths"
-msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c"
+msgstr "ШлÑ\8fÑ\85Ñ\96"
 
-#: ../src/dialogs/find.cpp:608 ../src/ui/dialog/find.cpp:77
-#, fuzzy
+#: ../src/dialogs/find.cpp:608
+#: ../src/ui/dialog/find.cpp:77
 msgid "Search text objects"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\9fоÑ\88Ñ\83к Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\85 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
 
-#: ../src/dialogs/find.cpp:608 ../src/ui/dialog/find.cpp:77
-#, fuzzy
+#: ../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 ""
+msgstr "Пошук ґруп"
 
-#: ../src/dialogs/find.cpp:613 ../src/ui/dialog/find.cpp:78
-#, fuzzy
+#: ../src/dialogs/find.cpp:613
+#: ../src/ui/dialog/find.cpp:78
 msgid "Groups"
-msgstr "Згрупаваць"
+msgstr "Ґрупы"
 
-#: ../src/dialogs/find.cpp:618 ../src/ui/dialog/find.cpp:81
+#: ../src/dialogs/find.cpp:618
+#: ../src/ui/dialog/find.cpp:79
 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
-msgid "find|Clones"
-msgstr "Ð\97акÑ\80Ñ\8bÑ\86Ñ\8c"
+#: ../src/dialogs/find.cpp:618
+#: ../src/ui/dialog/find.cpp:79
+#: ../src/ui/dialog/inkscape-preferences.cpp:543
+msgid "Clones"
+msgstr "Ð\9aлонÑ\8b"
 
-#: ../src/dialogs/find.cpp:625 ../src/ui/dialog/find.cpp:82
+#: ../src/dialogs/find.cpp:623
+#: ../src/ui/dialog/find.cpp:80
 msgid "Search images"
-msgstr ""
+msgstr "Пошук відарысаў"
 
-#: ../src/dialogs/find.cpp:625 ../src/ui/dialog/find.cpp:82
+#: ../src/dialogs/find.cpp:623
+#: ../src/ui/dialog/find.cpp:80
 #: ../share/extensions/embedimage.inx.h:3
 #: ../share/extensions/extractimage.inx.h:2
-#, fuzzy
 msgid "Images"
-msgstr "Відарыс"
+msgstr "Відарысы"
 
-#: ../src/dialogs/find.cpp:630 ../src/ui/dialog/find.cpp:83
+#: ../src/dialogs/find.cpp:628
+#: ../src/ui/dialog/find.cpp:81
 #, fuzzy
 msgid "Search offset objects"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\9fоÑ\88Ñ\83к Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\85 Ð°Ð±'екÑ\82аÑ\9e"
 
-#: ../src/dialogs/find.cpp:630 ../src/ui/dialog/find.cpp:83
+#: ../src/dialogs/find.cpp:628
+#: ../src/ui/dialog/find.cpp:81
 msgid "Offsets"
-msgstr ""
+msgstr "Зрухі"
 
-#: ../src/dialogs/find.cpp:694 ../src/ui/dialog/find.cpp:61
-#, fuzzy
+#: ../src/dialogs/find.cpp:692
+#: ../src/ui/dialog/find.cpp:61
 msgid "_Text: "
-msgstr "Тэкст"
+msgstr "_Тэкст:"
 
-#: ../src/dialogs/find.cpp:694 ../src/ui/dialog/find.cpp:61
+#: ../src/dialogs/find.cpp:692
+#: ../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:693
+#: ../src/ui/dialog/find.cpp:62
 msgid "_ID: "
-msgstr ""
+msgstr "_ID:"
 
-#: ../src/dialogs/find.cpp:695 ../src/ui/dialog/find.cpp:62
+#: ../src/dialogs/find.cpp:693
+#: ../src/ui/dialog/find.cpp:62
 msgid "Find objects by the value of the id attribute (exact or partial match)"
-msgstr ""
+msgstr "Шукаць аб'екты паводле значэньня атрыбута вызначніка (поўная ці частковая адпаведнасьць)"
 
-#: ../src/dialogs/find.cpp:696 ../src/ui/dialog/find.cpp:63
-#, fuzzy
+#: ../src/dialogs/find.cpp:694
+#: ../src/ui/dialog/find.cpp:63
 msgid "_Style: "
-msgstr "Стыль"
+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:694
+#: ../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
-#, fuzzy
+#: ../src/dialogs/find.cpp:695
+#: ../src/ui/dialog/find.cpp:64
 msgid "_Attribute: "
-msgstr "Атрыбут"
+msgstr "_Атрыбут:"
 
-#: ../src/dialogs/find.cpp:697 ../src/ui/dialog/find.cpp:64
+#: ../src/dialogs/find.cpp:695
+#: ../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
-#, fuzzy
+#: ../src/dialogs/find.cpp:709
+#: ../src/ui/dialog/find.cpp:65
 msgid "Search in s_election"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\9fоÑ\88Ñ\83к Ñ\83 _вÑ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\96"
 
-#: ../src/dialogs/find.cpp:715 ../src/ui/dialog/find.cpp:65
+#: ../src/dialogs/find.cpp:713
+#: ../src/ui/dialog/find.cpp:65
 msgid "Limit search to the current selection"
-msgstr ""
+msgstr "Абмежаваць пошук бягучым вылучэньнем"
 
-#: ../src/dialogs/find.cpp:720 ../src/ui/dialog/find.cpp:66
+#: ../src/dialogs/find.cpp:718
+#: ../src/ui/dialog/find.cpp:66
 msgid "Search in current _layer"
-msgstr ""
+msgstr "Шукаць у бягучым _пласьце"
 
-#: ../src/dialogs/find.cpp:724 ../src/ui/dialog/find.cpp:66
+#: ../src/dialogs/find.cpp:722
+#: ../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:727
+#: ../src/ui/dialog/find.cpp:67
 msgid "Include _hidden"
-msgstr ""
+msgstr "Разам са _схаванымі"
 
-#: ../src/dialogs/find.cpp:733 ../src/ui/dialog/find.cpp:67
+#: ../src/dialogs/find.cpp:731
+#: ../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:736
+#: ../src/ui/dialog/find.cpp:68
 msgid "Include l_ocked"
-msgstr ""
+msgstr "Разам з _замкнутымі"
 
-#: ../src/dialogs/find.cpp:742 ../src/ui/dialog/find.cpp:68
+#: ../src/dialogs/find.cpp:740
+#: ../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
-#, fuzzy
+#: ../src/dialogs/find.cpp:751
+#: ../src/ui/dialog/find.cpp:83
 msgid "Clear values"
-msgstr "Ачысьціць усё"
+msgstr "Ачысьціць значэньні"
 
-#: ../src/dialogs/find.cpp:754 ../src/ui/dialog/find.cpp:86
+#: ../src/dialogs/find.cpp:752
+#: ../src/ui/dialog/find.cpp:84
 msgid "_Find"
-msgstr ""
+msgstr "_Шукаць"
 
-#: ../src/dialogs/find.cpp:754 ../src/ui/dialog/find.cpp:86
+#: ../src/dialogs/find.cpp:752
+#: ../src/ui/dialog/find.cpp:84
 msgid "Select objects matching all of the fields you filled in"
-msgstr ""
+msgstr "Вылучыць абʼекты, адпаведныя ўсім запоўненым палям"
 
 #: ../src/dialogs/guidelinedialog.cpp:44
-#, fuzzy
 msgid "Unit:"
-msgstr "Адзінкі:"
+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:57
+#: ../src/widgets/toolbox.cpp:1114
 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:1266
+#: ../src/dialogs/object-attributes.cpp:58
+#: ../src/widgets/toolbox.cpp:1132
 msgid "Y:"
 msgstr "Y:"
 
 #: ../src/dialogs/guidelinedialog.cpp:47
-#, fuzzy
 msgid "Angle (degrees):"
-msgstr "гÑ\80ад"
+msgstr "Ð\92Ñ\83гал (Ñ\83 Ò\91Ñ\80адÑ\83Ñ\81аÑ\85):"
 
 #: ../src/dialogs/guidelinedialog.cpp:48
 #, fuzzy
 msgid "Rela_tive change"
-msgstr "Адноснае перамяшчэньне"
+msgstr "_Адноснае пасоўваньне"
 
 #: ../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 "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ñ\8dлемÑ\8dнÑ\82а"
+msgstr "Ð\97адаÑ\86Ñ\8c Ñ\83лаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнай"
 
 #: ../src/dialogs/guidelinedialog.cpp:153
-#, fuzzy
 msgid "Guideline"
-msgstr "Ð\9aолеÑ\80 ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85 Ñ\80Ñ\8bÑ\81аÑ\9e"
+msgstr "Ð\9dакÑ\96Ñ\80оÑ\9eнаÑ\8f"
 
 #: ../src/dialogs/guidelinedialog.cpp:241
-#, fuzzy, c-format
+#, c-format
 msgid "Guideline ID: %s"
-msgstr "Ð\9aолеÑ\80 ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85 Ñ\80Ñ\8bÑ\81аÑ\9e"
+msgstr "Ð\92Ñ\8bзнаÑ\87нÑ\96к Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнай: %s"
 
 #: ../src/dialogs/guidelinedialog.cpp:247
-#, fuzzy, c-format
+#, c-format
 msgid "Current: %s"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а"
+msgstr "Ð\91Ñ\8fгÑ\83Ñ\87Ñ\8b: %s"
 
 #: ../src/dialogs/iconpreview.cpp:139
 #, c-format
 msgid "%d x %d"
-msgstr ""
+msgstr "%d × %d"
 
 #: ../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
+#: ../src/ui/dialog/align-and-distribute.cpp:909
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1431
+#: ../src/widgets/desktop-widget.cpp:1535
 msgid "Selection"
 msgstr "Вылучэньне"
 
 #: ../src/dialogs/iconpreview.cpp:189
-#, fuzzy
 msgid "Selection only or whole document"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87ае Ñ\9eÑ\81е Ð°Ð±'екÑ\82Ñ\8b Ñ\9e Ð´Ð°ÐºÑ\83мÑ\8dнÑ\86е"
+msgstr "ТолÑ\8cкÑ\96 Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне Ñ\86Ñ\96 Ñ\9eвеÑ\81Ñ\8c Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82"
 
 #: ../src/dialogs/iconpreview.cpp:197
 msgid "Refresh the icons"
-msgstr ""
+msgstr "Асьвяжыць значкі"
 
 #. 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
+#: ../src/dialogs/item-properties.cpp:321
+#: ../src/dialogs/item-properties.cpp:392
+#: ../src/dialogs/item-properties.cpp:399
+#, fuzzy
 msgid "_Id"
-msgstr ""
+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/verbs.cpp:2407
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:143
+#: ../src/verbs.cpp:2364
+#: ../src/verbs.cpp:2368
 msgid "_Set"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\97адаÑ\86Ñ\8c"
 
 #. Create the label for the object label
 #: ../src/dialogs/item-properties.cpp:152
 msgid "_Label"
-msgstr ""
+msgstr "_Метка"
 
 #: ../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
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:173
+#: ../src/dialogs/rdf.cpp:238
 msgid "Title"
-msgstr "Ð\9dазва:"
+msgstr "Ð\97агаловак"
 
 #. 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
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:190
+#: ../src/dialogs/rdf.cpp:282
+#: ../src/ui/widget/page-sizer.cpp:197
 msgid "Description"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dньне"
+msgstr "Ð\90пÑ\96Ñ\81аньне"
 
 #. Hide
-#: ../src/dialogs/item-properties.cpp:218
+#: ../src/dialogs/item-properties.cpp:217
 msgid "_Hide"
-msgstr ""
+msgstr "С_хаваць"
 
-#: ../src/dialogs/item-properties.cpp:219
+#: ../src/dialogs/item-properties.cpp:218
 msgid "Check to make the object invisible"
-msgstr ""
+msgstr "Пазнач, каб зрабіць абʼект нябачным"
 
 #. Lock
 #. TRANSLATORS: "Lock" is a verb here
-#: ../src/dialogs/item-properties.cpp:228
+#: ../src/dialogs/item-properties.cpp:227
 msgid "L_ock"
-msgstr ""
+msgstr "_Замкнуць"
 
-#: ../src/dialogs/item-properties.cpp:229
+#: ../src/dialogs/item-properties.cpp:228
 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
+#: ../src/dialogs/item-properties.cpp:304
+#: ../src/dialogs/item-properties.cpp:311
 msgid "Ref"
 msgstr ""
 
-#: ../src/dialogs/item-properties.cpp:372
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:351
 msgid "Lock object"
-msgstr "Ð\9dÑ\8fма Ð°Ð±'екÑ\82аÑ\9e"
+msgstr "Ð\97амкнÑ\83Ñ\86Ñ\8c Ð°Ð±Ê¼ÐµÐºÑ\82"
 
-#: ../src/dialogs/item-properties.cpp:372
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:351
 msgid "Unlock object"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\90дамкнÑ\83Ñ\86Ñ\8c Ð°Ð±Ê¼ÐµÐºÑ\82"
 
-#: ../src/dialogs/item-properties.cpp:391
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:370
 msgid "Hide object"
-msgstr "Ð\9dÑ\8fма Ð°Ð±'екÑ\82аÑ\9e"
+msgstr "СÑ\85аваÑ\86Ñ\8c Ð°Ð±Ê¼ÐµÐºÑ\82"
 
-#: ../src/dialogs/item-properties.cpp:391
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:370
 msgid "Unhide object"
-msgstr "Прыбраць водступ вузла"
+msgstr "Паказаць абʼект"
 
-#: ../src/dialogs/item-properties.cpp:415
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:394
 msgid "Id invalid! "
-msgstr "Ð\9fÑ\80авÑ\96лÑ\8cнÑ\8b ID"
+msgstr "Ð\9dедапÑ\83Ñ\88Ñ\87алÑ\8cнÑ\8b Ð²Ñ\8bзнаÑ\87нÑ\96к!"
 
-#: ../src/dialogs/item-properties.cpp:417
+#: ../src/dialogs/item-properties.cpp:396
 msgid "Id exists! "
-msgstr ""
+msgstr "Вызначнік існуе!"
 
-#: ../src/dialogs/item-properties.cpp:424
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:403
 msgid "Set object ID"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\97адаÑ\86Ñ\8c Ð²Ñ\8bзнаÑ\87нÑ\96к Ð°Ð±Ê¼ÐµÐºÑ\82а"
 
-#: ../src/dialogs/item-properties.cpp:439
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:418
 msgid "Set object label"
-msgstr "СÑ\82Ñ\8bлÑ\8c Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\97адаÑ\86Ñ\8c Ð½Ð°Ð´Ð¿Ñ\96Ñ\81 Ð°Ð±Ê¼ÐµÐºÑ\82а"
 
-#: ../src/dialogs/item-properties.cpp:450
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:427
 msgid "Set object title"
-msgstr "СÑ\82Ñ\8bлÑ\8c Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\97адаÑ\86Ñ\8c Ð·Ð°Ð³Ð°Ð»Ð¾Ð²Ð°Ðº Ð°Ð±Ê¼ÐµÐºÑ\82а"
 
-#: ../src/dialogs/item-properties.cpp:465
-#, fuzzy
+#: ../src/dialogs/item-properties.cpp:435
 msgid "Set object description"
-msgstr "Вылучэньне"
+msgstr "Задаць апісаньне абʼекта"
+
+#: ../src/dialogs/layers-panel.cpp:579
+#: ../src/widgets/layer-selector.cpp:595
+msgid "Unhide layer"
+msgstr "Паказаць пласт"
+
+#: ../src/dialogs/layers-panel.cpp:579
+#: ../src/widgets/layer-selector.cpp:595
+msgid "Hide layer"
+msgstr "Схаваць пласт"
+
+#: ../src/dialogs/layers-panel.cpp:590
+#: ../src/widgets/layer-selector.cpp:587
+msgid "Lock layer"
+msgstr "Замкнуць пласт"
+
+#: ../src/dialogs/layers-panel.cpp:590
+#: ../src/widgets/layer-selector.cpp:587
+msgid "Unlock layer"
+msgstr "Адамкнуць пласт"
+
+#: ../src/dialogs/layers-panel.cpp:735
+msgid "New"
+msgstr "Стварыць"
+
+#: ../src/dialogs/layers-panel.cpp:740
+msgid "Top"
+msgstr "Верх"
+
+#: ../src/dialogs/layers-panel.cpp:746
+msgid "Up"
+msgstr "Уверх"
+
+#: ../src/dialogs/layers-panel.cpp:752
+msgid "Dn"
+msgstr "Ніз"
+
+#: ../src/dialogs/layers-panel.cpp:758
+msgid "Bot"
+msgstr "Ніз"
+
+#: ../src/dialogs/layers-panel.cpp:768
+msgid "X"
+msgstr "X"
 
 #: ../src/dialogs/layer-properties.cpp:47
 msgid "Layer name:"
-msgstr ""
+msgstr "Назва пласта:"
 
 #: ../src/dialogs/layer-properties.cpp:115
-#, fuzzy
 msgid "Add layer"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\94адаÑ\86Ñ\8c Ð¿Ð»Ð°Ñ\81Ñ\82"
 
 #: ../src/dialogs/layer-properties.cpp:153
-#, fuzzy
 msgid "Above current"
-msgstr "Ð\97аÑ\85оÑ\9eвае Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82"
+msgstr "Ð\9fа-над Ð±Ñ\8fгÑ\83Ñ\87Ñ\8bм"
 
 #: ../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
-#, fuzzy
 msgid "Position:"
-msgstr "Ð\9fÑ\80апоÑ\80Ñ\86Ñ\8bÑ\96:"
+msgstr "СÑ\82ановÑ\96Ñ\88Ñ\87а:"
 
 #: ../src/dialogs/layer-properties.cpp:182
 msgid "Rename Layer"
-msgstr ""
+msgstr "Перайменаваць пласт"
 
 #: ../src/dialogs/layer-properties.cpp:185
 msgid "_Rename"
-msgstr ""
+msgstr "_Перайменаваць"
 
 #: ../src/dialogs/layer-properties.cpp:195
-#, fuzzy
 msgid "Rename layer"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fеÑ\80айменаваÑ\86Ñ\8c Ð¿Ð»Ð°Ñ\81Ñ\82"
 
 #. 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"
-msgstr ""
+msgstr "Дадаць пласт"
 
 #: ../src/dialogs/layer-properties.cpp:203
-#, fuzzy
 msgid "_Add"
-msgstr "Дадаць"
+msgstr "_Дадаць"
 
 #: ../src/dialogs/layer-properties.cpp:225
 msgid "New layer created."
-msgstr ""
-
-#: ../src/dialogs/layers-panel.cpp:579 ../src/widgets/layer-selector.cpp:595
-#, fuzzy
-msgid "Unhide layer"
-msgstr "Падняць вузел"
+msgstr "Новы пласт створаны"
 
-#: ../src/dialogs/layers-panel.cpp:579 ../src/widgets/layer-selector.cpp:595
-#, fuzzy
-msgid "Hide layer"
-msgstr "Падняць вузел"
+#: ../src/dialogs/object-attributes.cpp:38
+msgid "Href:"
+msgstr "Href:"
 
-#: ../src/dialogs/layers-panel.cpp:590 ../src/widgets/layer-selector.cpp:587
-#, fuzzy
-msgid "Lock layer"
-msgstr "Апусьціць вузел"
+#: ../src/dialogs/object-attributes.cpp:39
+msgid "Target:"
+msgstr "Мэта:"
 
-#: ../src/dialogs/layers-panel.cpp:590 ../src/widgets/layer-selector.cpp:587
-#, fuzzy
-msgid "Unlock layer"
-msgstr "Апусьціць вузел"
+#: ../src/dialogs/object-attributes.cpp:40
+msgid "Type:"
+msgstr "Тып:"
 
-#: ../src/dialogs/layers-panel.cpp:735
-msgid "New"
-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:43
+msgid "Role:"
+msgstr "Роля:"
 
-#: ../src/dialogs/layers-panel.cpp:740 ../share/extensions/restack.inx.h:16
-msgid "Top"
+#. 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:46
+msgid "Arcrole:"
 msgstr ""
 
-#: ../src/dialogs/layers-panel.cpp:746
-msgid "Up"
-msgstr ""
+#. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkTitleAttribute
+#: ../src/dialogs/object-attributes.cpp:48
+msgid "Title:"
+msgstr "Назва:"
 
-#: ../src/dialogs/layers-panel.cpp:752
-msgid "Dn"
-msgstr ""
-
-#: ../src/dialogs/layers-panel.cpp:758
-msgid "Bot"
-msgstr ""
-
-#: ../src/dialogs/layers-panel.cpp:768
-#, fuzzy
-msgid "X"
-msgstr "X:"
-
-#: ../src/dialogs/object-attributes.cpp:39
-msgid "Href:"
-msgstr "Href:"
-
-#: ../src/dialogs/object-attributes.cpp:40
-msgid "Target:"
-msgstr "Мэта:"
-
-#: ../src/dialogs/object-attributes.cpp:41
-msgid "Type:"
-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 "Роля:"
-
-#. 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 ""
-
-#. 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 "Назва:"
-
-#: ../src/dialogs/object-attributes.cpp:50
-#: ../share/extensions/polyhedron_3d.inx.h:38
 msgid "Show:"
 msgstr "Паказаць:"
 
 #. TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/linking.html#AElementXLinkActuateAttribute
-#: ../src/dialogs/object-attributes.cpp:52
+#: ../src/dialogs/object-attributes.cpp:51
 msgid "Actuate:"
 msgstr "Актывізаваць:"
 
-#: ../src/dialogs/object-attributes.cpp:57
+#: ../src/dialogs/object-attributes.cpp:56
 msgid "URL:"
 msgstr "URL:"
 
-#: ../src/dialogs/object-attributes.cpp:113
-#, fuzzy, c-format
+#: ../src/dialogs/object-attributes.cpp:104
+#, c-format
 msgid "%s Properties"
-msgstr "Уласьцівасьці элемэнта"
+msgstr "Уласьцівасьці %s"
 
 #: ../src/dialogs/rdf.cpp:181
-#, fuzzy
 msgid "CC Attribution"
-msgstr "Атрыбут"
+msgstr "CC Attribution"
 
 #: ../src/dialogs/rdf.cpp:186
 msgid "CC Attribution-ShareAlike"
-msgstr ""
+msgstr "CC Attribution-ShareAlike"
 
 #: ../src/dialogs/rdf.cpp:191
 msgid "CC Attribution-NoDerivs"
-msgstr ""
+msgstr "CC Attribution-NoDerivs"
 
 #: ../src/dialogs/rdf.cpp:196
 msgid "CC Attribution-NonCommercial"
-msgstr ""
+msgstr "CC Attribution-NonCommercial"
 
 #: ../src/dialogs/rdf.cpp:201
 msgid "CC Attribution-NonCommercial-ShareAlike"
-msgstr ""
+msgstr "CC Attribution-NonCommercial-ShareAlike"
 
 #: ../src/dialogs/rdf.cpp:206
 msgid "CC Attribution-NonCommercial-NoDerivs"
-msgstr ""
+msgstr "CC Attribution-NonCommercial-NoDerivs"
 
 #: ../src/dialogs/rdf.cpp:211
 msgid "Public Domain"
-msgstr ""
+msgstr "Усеагульны здабытак"
 
 #: ../src/dialogs/rdf.cpp:216
 msgid "FreeArt"
-msgstr ""
+msgstr "FreeArt"
 
 #: ../src/dialogs/rdf.cpp:221
 msgid "Open Font License"
-msgstr ""
+msgstr "Open Font License"
 
 #: ../src/dialogs/rdf.cpp:239
 msgid "Name by which this document is formally known."
-msgstr ""
+msgstr "Назва, пад якой гэты дакумэнт фармальна вядомы."
 
 #: ../src/dialogs/rdf.cpp:241
-#, fuzzy
 msgid "Date"
-msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c"
+msgstr "Ð\94аÑ\82а"
 
 #: ../src/dialogs/rdf.cpp:242
 msgid "Date associated with the creation of this document (YYYY-MM-DD)."
-msgstr ""
+msgstr "Дата стварэньня гэтага дакумэнта (ГГГГ-ММ-ДД)."
 
 #: ../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 ""
 
 #. _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
-#, fuzzy
+#: ../src/dialogs/rdf.cpp:247
+#: ../src/extension/internal/bitmap/addNoise.cpp:46
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2193
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2270
 msgid "Type"
-msgstr "Тып:"
+msgstr "Тып"
 
 #: ../src/dialogs/rdf.cpp:248
 msgid "Type of document (DCMI Type)."
-msgstr ""
+msgstr "Тып дакумэнта (Тып DCMI)."
 
 #: ../src/dialogs/rdf.cpp:251
-#, fuzzy
 msgid "Creator"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\90Ñ\9eÑ\82аÑ\80"
 
 #: ../src/dialogs/rdf.cpp:252
-msgid ""
-"Name of entity primarily responsible for making the content of this document."
+msgid "Name of entity primarily responsible for making the content of this document."
 msgstr ""
 
 #: ../src/dialogs/rdf.cpp:254
-#, fuzzy
 msgid "Rights"
-msgstr "Ð\92Ñ\8bÑ\88Ñ\8bнÑ\8f:"
+msgstr "Ð\9fÑ\80авÑ\8b"
 
 #: ../src/dialogs/rdf.cpp:255
-msgid ""
-"Name of entity with rights to the Intellectual Property of this document."
+msgid "Name of entity with rights to the Intellectual Property of this document."
 msgstr ""
 
 #: ../src/dialogs/rdf.cpp:257
 msgid "Publisher"
-msgstr ""
+msgstr "Выдавец"
 
 #: ../src/dialogs/rdf.cpp:258
 msgid "Name of entity responsible for making this document available."
 msgstr ""
 
 #: ../src/dialogs/rdf.cpp:261
-#, fuzzy
 msgid "Identifier"
-msgstr "СанÑ\86Ñ\96мÑ\8dÑ\82аÑ\80"
+msgstr "Ð\92Ñ\8bзнаÑ\87нÑ\96к"
 
 #: ../src/dialogs/rdf.cpp:262
 msgid "Unique URI to reference this document."
-msgstr ""
+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:1455
 msgid "Source"
-msgstr ""
+msgstr "Крыніца"
 
 #: ../src/dialogs/rdf.cpp:265
 msgid "Unique URI to reference the source of this document."
-msgstr ""
+msgstr "Унікальны URI, які спасылаецца на крыніцу гэтага дакумэнта."
 
 #: ../src/dialogs/rdf.cpp:267
-#, fuzzy
 msgid "Relation"
-msgstr "РазÑ\80озÑ\8cненÑ\8cне:"
+msgstr "СÑ\83вÑ\8fзÑ\8c"
 
 #: ../src/dialogs/rdf.cpp:268
-#, fuzzy
 msgid "Unique URI to a related document."
-msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð±Ñ\8fз Ð½Ð°Ð·Ð²Ñ\8b"
+msgstr "УнÑ\96калÑ\8cнÑ\8b URI Ð½Ð° Ñ\80однаÑ\81нÑ\8b Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82."
 
 #: ../src/dialogs/rdf.cpp:270
 msgid "Language"
-msgstr ""
+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 "Двухлітарны код мовы зь неабавязковым падкодам мовы дакумэнта. (напр., «be-BY»)"
 
 #: ../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."
@@ -1871,127 +1822,125 @@ 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
-#, fuzzy
 msgid "Contributors"
-msgstr "СанÑ\82Ñ\8bмÑ\8dÑ\82Ñ\80Ñ\8b"
+msgstr "УкладалÑ\8cнÑ\96кÑ\96"
 
 #: ../src/dialogs/rdf.cpp:288
-msgid ""
-"Names of entities responsible for making contributions to the content of "
-"this document."
+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
 msgid "URI"
-msgstr ""
+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 "URI на старонку, якая вызначае ліцэнзію дакумэнта."
 
 #. TRANSLATORS: fragment of XML representing the license of the document
 #: ../src/dialogs/rdf.cpp:298
-#, fuzzy
 msgid "Fragment"
-msgstr "Ð\90Ñ\80гÑ\83мэнт:"
+msgstr "Ð\9bÑ\96Ñ\86Ñ\8dнзÑ\96йнÑ\8b Ñ\84Ñ\80аÒ\91мэнт:"
 
 #: ../src/dialogs/rdf.cpp:299
 msgid "XML fragment for the RDF 'License' section."
-msgstr ""
+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/sp-attribute-widget.cpp:170
+#: ../src/dialogs/sp-attribute-widget.cpp:787
+#: ../src/dialogs/xml-tree.cpp:533
 msgid "Set attribute"
-msgstr "УÑ\81Ñ\82алÑ\8fваць атрыбут"
+msgstr "Ð\92Ñ\8bзнаÑ\87Ñ\8bць атрыбут"
 
-#: ../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 "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\97адаÑ\86Ñ\8c ÐºÐ¾Ð»ÐµÑ\80 ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
-#: ../src/dialogs/stroke-style.cpp:355 ../src/ui/widget/selected-style.cpp:255
-#: ../src/ui/widget/selected-style.cpp:488
-#, fuzzy
+#: ../src/dialogs/stroke-style.cpp:355
+#: ../src/ui/widget/selected-style.cpp:251
+#: ../src/ui/widget/selected-style.cpp:483
 msgid "Remove stroke"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80"
 
 #: ../src/dialogs/stroke-style.cpp:416
-#, fuzzy
 msgid "Set gradient on stroke"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "Ð\97адаÑ\86Ñ\8c Ò\91Ñ\80адÑ\8bенÑ\82 ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
 #: ../src/dialogs/stroke-style.cpp:460
-#, fuzzy
 msgid "Set pattern on stroke"
-msgstr "УзоÑ\80:"
+msgstr "Ð\97адаÑ\86Ñ\8c Ñ\83зоÑ\80 ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
-#: ../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
+#: ../src/dialogs/stroke-style.cpp:481
+#: ../src/ui/widget/selected-style.cpp:189
+#: ../src/ui/widget/selected-style.cpp:247
+#: ../src/ui/widget/selected-style.cpp:508
+#: ../src/ui/widget/style-swatch.cpp:333
 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:264
+#: ../src/interface.cpp:829
 #: ../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
+#: ../src/ui/dialog/inkscape-preferences.cpp:207
+#: ../src/ui/dialog/inkscape-preferences.cpp:368
+#: ../src/ui/dialog/inkscape-preferences.cpp:469
+#: ../src/ui/dialog/inkscape-preferences.cpp:895
+#: ../src/verbs.cpp:2125
 msgid "None"
 msgstr "Няма"
 
-#: ../src/dialogs/stroke-style.cpp:848 ../src/widgets/gradient-vector.cpp:264
-#: ../src/widgets/paint-selector.cpp:885
+#: ../src/dialogs/stroke-style.cpp:848
+#: ../src/widgets/gradient-vector.cpp:264
+#: ../src/widgets/paint-selector.cpp:882
 msgid "No document selected"
-msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð½Ñ\8f Ð²Ñ\8bлÑ\83Ñ\87аны"
+msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð½Ñ\8f Ð²Ñ\8bбÑ\80аны"
 
 #: ../src/dialogs/stroke-style.cpp:937
-#, fuzzy
 msgid "Set markers"
-msgstr "Захаваць як:"
+msgstr "Задаць меткі"
 
-#: ../src/dialogs/stroke-style.cpp:1104 ../share/extensions/edge3d.inx.h:9
-#, fuzzy
+#: ../src/dialogs/stroke-style.cpp:1104
+#: ../share/extensions/edge3d.inx.h:9
 msgid "Stroke width"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "ТаÑ\9eÑ\88Ñ\87Ñ\8bнÑ\8f ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
 #. 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 "Ð\94алучэньне:"
+msgstr "Ð\97лучэньне:"
 
 #. 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
@@ -2002,298 +1951,285 @@ 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
-#, fuzzy
 msgid "Dashes:"
-msgstr "Ð\9cаÑ\81а:"
+msgstr "РÑ\8bÑ\81кÑ\96:"
 
 #. 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
-#, fuzzy
 msgid "Start Markers:"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð·Ð¾Ñ\80кÑ\96"
+msgstr "Ð\9fаÑ\87аÑ\82ковÑ\8bÑ\8f Ð¼ÐµÑ\82кÑ\96:"
 
 #: ../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 "Стыль штрыхоўкі"
-
-#: ../src/dialogs/swatches.cpp:248
-#, c-format
-msgid ""
-"Color: <b>%s</b>; <b>Click</b> to set fill, <b>Shift+click</b> to set stroke"
-msgstr ""
+msgstr "Задаць стыль контура"
 
 #. TRANSLATORS: An item in context menu on a colour in the swatches
-#: ../src/dialogs/swatches.cpp:298
-#, fuzzy
+#: ../src/dialogs/swatches.cpp:269
 msgid "Set fill"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\97адаÑ\86Ñ\8c Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cне"
 
 #. TRANSLATORS: An item in context menu on a colour in the swatches
-#: ../src/dialogs/swatches.cpp:306
-#, fuzzy
+#: ../src/dialogs/swatches.cpp:277
 msgid "Set stroke"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\97адаÑ\86Ñ\8c Ð´Ð»Ñ\8f ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
-#: ../src/dialogs/swatches.cpp:525
-#, fuzzy
+#: ../src/dialogs/swatches.cpp:496
 msgid "Change color definition"
-msgstr "Ð\90Ñ\80Ñ\8bенÑ\82аÑ\86Ñ\8bÑ\8f:"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð°Ð·Ð½Ð°Ñ\87Ñ\8dнÑ\8cне ÐºÐ¾Ð»ÐµÑ\80а"
 
-#: ../src/dialogs/swatches.cpp:676
-#, fuzzy
+#: ../src/dialogs/swatches.cpp:637
 msgid "Set stroke color from swatch"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "УзÑ\8fÑ\86Ñ\8c ÐºÐ¾Ð»ÐµÑ\80 ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а Ð· Ð¿Ñ\80Ñ\8bклада"
 
-#: ../src/dialogs/swatches.cpp:676
+#: ../src/dialogs/swatches.cpp:637
 msgid "Set fill color from swatch"
-msgstr ""
+msgstr "Узяць колер запаўненьня з прыкладу"
 
-#: ../src/dialogs/swatches.cpp:996
+#: ../src/dialogs/swatches.cpp:956
 #, 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
-#, fuzzy
+#: ../src/dialogs/text-edit.cpp:200
+#: ../src/ui/dialog/text-properties.cpp:36
 msgid "Font"
-msgstr "Ð\9fÑ\83нкт"
+msgstr "ШÑ\80Ñ\8bÑ\84т"
 
 #: ../src/dialogs/text-edit.cpp:223
 msgid "Layout"
-msgstr "Ð\90Ñ\80Ñ\8bенÑ\82аÑ\86Ñ\8bÑ\8f"
+msgstr "РазÑ\8cмÑ\8fÑ\88Ñ\87Ñ\8dнÑ\8cне"
 
 #: ../src/dialogs/text-edit.cpp:237
 msgid "Align lines left"
-msgstr ""
+msgstr "Выраўнаваць лініі ўлева"
 
 #. TRANSLATORS: `Center' here is a verb.
 #: ../src/dialogs/text-edit.cpp:252
-#, fuzzy
 msgid "Center lines"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\90дÑ\86Ñ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c Ñ\80адкÑ\96"
 
 #: ../src/dialogs/text-edit.cpp:266
 msgid "Align lines right"
-msgstr ""
+msgstr "Выраўнаваць лініі ўправа"
 
 #: ../src/dialogs/text-edit.cpp:280
 msgid "Justify lines"
-msgstr ""
+msgstr "Выраўнаваць радкі"
 
-#: ../src/dialogs/text-edit.cpp:302 ../src/widgets/toolbox.cpp:5354
-#, fuzzy
+#: ../src/dialogs/text-edit.cpp:302
+#: ../src/widgets/toolbox.cpp:4913
 msgid "Horizontal text"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "ТÑ\8dкÑ\81Ñ\82 Ð¿Ð° Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\96"
 
-#: ../src/dialogs/text-edit.cpp:316 ../src/widgets/toolbox.cpp:5366
-#, fuzzy
+#: ../src/dialogs/text-edit.cpp:316
+#: ../src/widgets/toolbox.cpp:4924
 msgid "Vertical text"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "ТÑ\8dкÑ\81Ñ\82 Ð¿Ð° Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\96"
 
 #: ../src/dialogs/text-edit.cpp:331
-#, fuzzy
 msgid "Line spacing:"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\9cÑ\96жÑ\80адковÑ\8b Ñ\96нÑ\82Ñ\8dÑ\80вал:"
 
 #. 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
+#: ../src/dialogs/text-edit.cpp:377
+#: ../src/selection-describer.cpp:66
+#: ../src/ui/dialog/inkscape-preferences.cpp:439
+#: ../src/ui/dialog/text-properties.cpp:37
+#: ../src/verbs.cpp:2396
 #: ../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_uppercase.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_replace.inx.h:2
 #: ../share/extensions/text_titlecase.inx.h:1
-#: ../share/extensions/text_uppercase.inx.h:1
+#: ../share/extensions/text_sentencecase.inx.h:2
 msgid "Text"
 msgstr "Тэкст"
 
 #: ../src/dialogs/text-edit.cpp:424
 msgid "Set as default"
-msgstr "УÑ\81Ñ\82алÑ\8fваÑ\86Ñ\8c Ñ\8fк Ð´Ð°Ð¿Ð¾Ð¼Ð½Ð°Ðµ"
+msgstr "Ð\97Ñ\80абÑ\96Ñ\86Ñ\8c Ð¿Ñ\80адвÑ\8bзнаÑ\87анÑ\8bм"
 
-#: ../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 "СÑ\82Ñ\8bлÑ\8c Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\97адаÑ\86Ñ\8c Ñ\81Ñ\82Ñ\8bлÑ\8c Ñ\82Ñ\8dкÑ\81Ñ\82Ñ\83"
 
 #: ../src/dialogs/tiledialog.cpp:353
 msgid "Arrange in a grid"
-msgstr ""
+msgstr "Упарадкаваньне ў сетцы"
 
 #: ../src/dialogs/tiledialog.cpp:654
-#, fuzzy
 msgid "Rows:"
-msgstr "Ð\9fаказаÑ\86Ñ\8c:"
+msgstr "РадкоÑ\9e:"
 
 #: ../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"
-msgstr ""
+msgstr "Калі не зададзена, кожны радок мае вышыню самага высокага ў ім абʼекта"
 
 #. #### Radio buttons to control vertical alignment ####
 #. #### Radio buttons to control horizontal alignment ####
-#: ../src/dialogs/tiledialog.cpp:682 ../src/dialogs/tiledialog.cpp:752
-#, fuzzy
+#: ../src/dialogs/tiledialog.cpp:682
+#: ../src/dialogs/tiledialog.cpp:752
 msgid "Align:"
-msgstr "РаÑ\9eнанÑ\8cне"
+msgstr "РаÑ\9eнаванÑ\8cне:"
 
 #. #### Number of columns ####
 #: ../src/dialogs/tiledialog.cpp:724
-#, fuzzy
 msgid "Columns:"
-msgstr "Ð\9aÑ\83Ñ\82Ñ\8b:"
+msgstr "СлÑ\83пкоÑ\9e:"
 
 #: ../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"
-msgstr ""
+msgstr "Калі не зададзена, кожны слупок мае шырыню самага высокага ў ім абʼекта"
 
 #. #### Radio buttons to control spacing manually or to fit selection bbox ####
 #: ../src/dialogs/tiledialog.cpp:791
 #, fuzzy
 msgid "Fit into selection box"
-msgstr "Запаўняе вылучэньнем усё акно"
+msgstr "_Памер старонкі адпавядае вылучэньню"
 
 #: ../src/dialogs/tiledialog.cpp:797
-#, fuzzy
 msgid "Set spacing:"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\97адаÑ\86Ñ\8c Ñ\96нÑ\82Ñ\8dÑ\80вал:"
 
 #: ../src/dialogs/tiledialog.cpp:817
 msgid "Vertical spacing between rows (px units)"
-msgstr ""
+msgstr "Вэртыкальны прагал між радкамі (пкс)"
 
 #: ../src/dialogs/tiledialog.cpp:842
 msgid "Horizontal spacing between columns (px units)"
-msgstr ""
+msgstr "Гарызантальны прагал між слупкамі (пкс)"
 
 #. ## The OK button
-#: ../src/dialogs/tiledialog.cpp:865 ../share/extensions/restack.inx.h:3
-#, fuzzy
+#: ../src/dialogs/tiledialog.cpp:865
 msgid "Arrange"
-msgstr "Ð\9aÑ\83Ñ\82"
+msgstr "УпаÑ\80адкаваÑ\86Ñ\8c"
 
 #: ../src/dialogs/tiledialog.cpp:866
-#, fuzzy
 msgid "Arrange selected objects"
-msgstr "Ð\93Ñ\80Ñ\83пÑ\83е Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екты"
+msgstr "УпаÑ\80адкаваÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±Ê¼екты"
 
 #: ../src/dialogs/xml-tree.cpp:174
 msgid "<b>Click</b> to select nodes, <b>drag</b> to rearrange."
-msgstr ""
+msgstr "<b>Пстрыкні</b>,каб вылучыць галіну, <b>пацягні</b>, каб пераўпарадкаваць."
 
 #: ../src/dialogs/xml-tree.cpp:185
 msgid "<b>Click</b> attribute to edit."
-msgstr ""
+msgstr "<b>Пстрыкні</b> па атрыбуце для зьмяненьня."
 
 #: ../src/dialogs/xml-tree.cpp:189
 #, c-format
-msgid ""
-"Attribute <b>%s</b> selected. Press <b>Ctrl+Enter</b> when done editing to "
-"commit changes."
-msgstr ""
+msgid "Attribute <b>%s</b> selected. Press <b>Ctrl+Enter</b> when done editing to commit changes."
+msgstr "Вылучаны атрыбут <b>%s</b>. Націсьні <b>Ctrl+Enter</b> па зьмяненьні, каб задзейнічаць зьмены."
 
 #: ../src/dialogs/xml-tree.cpp:284
 msgid "Drag to reorder nodes"
-msgstr "Ð\9fеÑ\80амÑ\8fÑ\81Ñ\8cÑ\86Ñ\96Ñ\86е Ð´Ð»Ñ\8f Ð·Ñ\8cменÑ\8b Ð¿Ð°Ñ\80адка Ð²Ñ\83злоÑ\9e"
+msgstr "Ð\9fаÑ\86Ñ\8fгнÑ\96, ÐºÐ°Ð± Ð·Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð¿Ð°Ñ\80адак Ð³Ð°Ð»Ñ\96н"
 
 #: ../src/dialogs/xml-tree.cpp:304
 msgid "New element node"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\83зел Ñ\8dлемÑ\8dнÑ\82а"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð³Ð°Ð»Ñ\96нÑ\83 Ñ\8dлемÑ\8dнÑ\82аÑ\9e"
 
 #: ../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/nodepath.cpp:2024
+#: ../src/dialogs/xml-tree.cpp:347
+#: ../src/dialogs/xml-tree.cpp:1414
+#: ../src/nodepath.cpp:1880
 msgid "Duplicate node"
-msgstr "Ð\9fадвоÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fадвоÑ\96Ñ\86Ñ\8c Ð³Ð°Ð»Ñ\96нÑ\83"
 
-#: ../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:3122
+#: ../src/widgets/toolbox.cpp:987
 msgid "Delete node"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð³Ð°Ð»Ñ\96нÑ\83"
 
-#: ../src/dialogs/xml-tree.cpp:384 ../src/dialogs/xml-tree.cpp:1576
+#: ../src/dialogs/xml-tree.cpp:384
+#: ../src/dialogs/xml-tree.cpp:1580
 msgid "Unindent node"
-msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð²Ð¾Ð´Ñ\81Ñ\82Ñ\83п Ð²Ñ\83зла"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð°Ð´Ñ\81Ñ\82Ñ\83п Ð³Ð°Ð»Ñ\96нÑ\8b"
 
-#: ../src/dialogs/xml-tree.cpp:399 ../src/dialogs/xml-tree.cpp:1555
+#: ../src/dialogs/xml-tree.cpp:399
+#: ../src/dialogs/xml-tree.cpp:1559
 msgid "Indent node"
-msgstr "Ð\94адаÑ\86Ñ\8c Ð²Ð¾Ð´Ñ\81Ñ\82Ñ\83п Ð²Ñ\83зла"
+msgstr "Ð\94адаÑ\86Ñ\8c Ð°Ð´Ñ\81Ñ\82Ñ\83п Ð³Ð°Ð»Ñ\96нÑ\8b"
 
-#: ../src/dialogs/xml-tree.cpp:411 ../src/dialogs/xml-tree.cpp:1508
+#: ../src/dialogs/xml-tree.cpp:411
+#: ../src/dialogs/xml-tree.cpp:1512
 msgid "Raise node"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "УзÑ\8cнÑ\8fÑ\86Ñ\8c Ð³Ð°Ð»Ñ\96нÑ\83"
 
-#: ../src/dialogs/xml-tree.cpp:423 ../src/dialogs/xml-tree.cpp:1525
+#: ../src/dialogs/xml-tree.cpp:423
+#: ../src/dialogs/xml-tree.cpp:1529
 msgid "Lower node"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð³Ð°Ð»Ñ\96нÑ\83"
 
-#: ../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 "Выдаліць атрыбут"
 
@@ -2304,9 +2240,8 @@ msgstr "Назва атрыбута"
 
 #. TRANSLATORS: "Set" is a verb here
 #: ../src/dialogs/xml-tree.cpp:535
-#, fuzzy
 msgid "Set"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\97адаÑ\86Ñ\8c"
 
 #. TRANSLATORS: "Attribute" is a noun here
 #: ../src/dialogs/xml-tree.cpp:558
@@ -2315,15 +2250,13 @@ 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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\83зел Ñ\8dлемÑ\8dнÑ\82а..."
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð³Ð°Ð»Ñ\96нÑ\83 Ñ\8dлемÑ\8dнÑ\82аÑ\9eâ\80¦"
 
 #: ../src/dialogs/xml-tree.cpp:1339
-#: ../src/ui/dialog/whiteboard-connect.cpp:114
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:103
 msgid "Cancel"
 msgstr "Адмяніць"
 
@@ -2332,476 +2265,443 @@ msgid "Create"
 msgstr "Стварыць"
 
 #: ../src/dialogs/xml-tree.cpp:1380
-#, fuzzy
 msgid "Create new element node"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\83зел Ñ\8dлемÑ\8dнÑ\82а"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\83Ñ\8e Ð³Ð°Ð»Ñ\96нÑ\83 Ñ\8dлемÑ\8dнÑ\82аÑ\9e"
 
 #: ../src/dialogs/xml-tree.cpp:1396
-#, fuzzy
 msgid "Create new text node"
-msgstr "Стварыць вузел тэкста"
-
-#: ../src/dialogs/xml-tree.cpp:1478
-#, fuzzy
-msgid "Change attribute"
-msgstr "Усталяваць атрыбут"
-
-#: ../src/display/canvas-axonomgrid.cpp:390 ../src/display/canvas-grid.cpp:656
-#, fuzzy
-msgid "Grid _units:"
-msgstr "Адзінкі сеткі:"
-
-#: ../src/display/canvas-axonomgrid.cpp:392 ../src/display/canvas-grid.cpp:658
-#, fuzzy
-msgid "_Origin X:"
-msgstr "Зрух па Х:"
-
-#: ../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 ""
-
-#: ../src/display/canvas-axonomgrid.cpp:394 ../src/display/canvas-grid.cpp:660
-#, fuzzy
-msgid "O_rigin Y:"
-msgstr "Зрух па Y:"
-
-#: ../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 "Стварыць новую тэкставую галіну"
 
-#: ../src/display/canvas-axonomgrid.cpp:396 ../src/display/canvas-grid.cpp:664
-#, fuzzy
-msgid "Spacing _Y:"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Y:"
+#: ../src/dialogs/xml-tree.cpp:1467
+#, c-format
+msgid "Cannot set <b>%s</b>: Another element with value <b>%s</b> already exists!"
+msgstr "Ð\9dемагÑ\87Ñ\8bма Ð·Ð°Ð´Ð°Ñ\86Ñ\8c <b>%s</b>: Ñ\96нÑ\88Ñ\8b Ñ\8dлемÑ\8dнÑ\82 Ñ\81а Ð·Ð½Ð°Ñ\87Ñ\8dнÑ\8cнем <b>%s</b> Ñ\83жо Ñ\96Ñ\81нÑ\83е!"
 
-#: ../src/display/canvas-axonomgrid.cpp:396
-#: ../src/ui/dialog/inkscape-preferences.cpp:893
-msgid "Base length of z-axis"
-msgstr ""
+#: ../src/dialogs/xml-tree.cpp:1482
+msgid "Change attribute"
+msgstr "Зьмяніць атрыбут"
 
-#: ../src/display/canvas-axonomgrid.cpp:398 ../src/widgets/toolbox.cpp:2723
-#, fuzzy
+#: ../src/display/canvas-axonomgrid.cpp:394
+#: ../src/widgets/toolbox.cpp:2576
 msgid "Angle X:"
-msgstr "Ð\9aÑ\83Ñ\82:"
+msgstr "Ð\92Ñ\83гал Ð¿Ð° X:"
 
-#: ../src/display/canvas-axonomgrid.cpp:398
-#: ../src/ui/dialog/inkscape-preferences.cpp:896
+#: ../src/display/canvas-axonomgrid.cpp:394
+#: ../src/ui/dialog/inkscape-preferences.cpp:870
 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:396
+#: ../src/widgets/toolbox.cpp:2655
 msgid "Angle Z:"
-msgstr "Ð\9aÑ\83Ñ\82:"
+msgstr "Ð\92Ñ\83гал Ð¿Ð° Z:"
 
-#: ../src/display/canvas-axonomgrid.cpp:400
-#: ../src/ui/dialog/inkscape-preferences.cpp:897
+#: ../src/display/canvas-axonomgrid.cpp:396
+#: ../src/ui/dialog/inkscape-preferences.cpp:871
 msgid "Angle of z-axis"
-msgstr ""
+msgstr "Вугал восі Z"
 
-#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668
-#, fuzzy
+#: ../src/display/canvas-axonomgrid.cpp:400
+#: ../src/display/canvas-grid.cpp:663
 msgid "Grid line _color:"
-msgstr "Колер кіруючых рысаў"
+msgstr "_Колер ліній сеткі:"
 
-#: ../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
-#, fuzzy
+#: ../src/display/canvas-axonomgrid.cpp:400
+#: ../src/display/canvas-grid.cpp:663
+#: ../src/ui/dialog/inkscape-preferences.cpp:850
+#: ../src/ui/dialog/inkscape-preferences.cpp:851
+#: ../src/ui/dialog/inkscape-preferences.cpp:872
+#: ../src/ui/dialog/inkscape-preferences.cpp:873
 msgid "Grid line color"
-msgstr "Ð\9aолеÑ\80 ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85 Ñ\80Ñ\8bÑ\81аÑ\9e"
+msgstr "Ð\9aолеÑ\80 Ð»Ñ\96нÑ\96й Ñ\81еÑ\82кÑ\96"
 
-#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668
+#: ../src/display/canvas-axonomgrid.cpp:400
+#: ../src/display/canvas-grid.cpp:663
 msgid "Color of grid lines"
-msgstr ""
+msgstr "Колер ліній сеткі"
 
-#: ../src/display/canvas-axonomgrid.cpp:409 ../src/display/canvas-grid.cpp:673
-#, fuzzy
+#: ../src/display/canvas-axonomgrid.cpp:405
+#: ../src/display/canvas-grid.cpp:668
 msgid "Ma_jor grid line color:"
-msgstr "Колер кіруючых рысаў"
+msgstr "Колер _галоўных ліній сеткі:"
 
-#: ../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
-#, fuzzy
+#: ../src/display/canvas-axonomgrid.cpp:405
+#: ../src/display/canvas-grid.cpp:668
+#: ../src/ui/dialog/inkscape-preferences.cpp:852
+#: ../src/ui/dialog/inkscape-preferences.cpp:853
+#: ../src/ui/dialog/inkscape-preferences.cpp:874
+#: ../src/ui/dialog/inkscape-preferences.cpp:875
 msgid "Major grid line color"
-msgstr "Ð\9aолеÑ\80 ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85 Ñ\80Ñ\8bÑ\81аÑ\9e"
+msgstr "Ð\9aолеÑ\80 Ð³Ð°Ð»Ð¾Ñ\9eнÑ\8bÑ\85 Ð»Ñ\96нÑ\96й Ñ\81еÑ\82кÑ\96"
 
-#: ../src/display/canvas-axonomgrid.cpp:410 ../src/display/canvas-grid.cpp:674
+#: ../src/display/canvas-axonomgrid.cpp:406
+#: ../src/display/canvas-grid.cpp:669
 msgid "Color of the major (highlighted) grid lines"
-msgstr ""
+msgstr "Колер галоўных (падсьвечаных) ліній сеткі"
+
+#: ../src/display/canvas-axonomgrid.cpp:412
+#: ../src/display/canvas-grid.cpp:679
+msgid "Grid _units:"
+msgstr "_Адзінкі сеткі:"
+
+#: ../src/display/canvas-axonomgrid.cpp:413
+#: ../src/display/canvas-grid.cpp:680
+msgid "_Origin X:"
+msgstr "Пачатковая _Х:"
+
+#: ../src/display/canvas-axonomgrid.cpp:413
+#: ../src/display/canvas-grid.cpp:680
+#: ../src/ui/dialog/inkscape-preferences.cpp:843
+#: ../src/ui/dialog/inkscape-preferences.cpp:864
+msgid "X coordinate of grid origin"
+msgstr "Каардыната X пачатку сеткі"
+
+#: ../src/display/canvas-axonomgrid.cpp:418
+#: ../src/display/canvas-grid.cpp:685
+msgid "O_rigin Y:"
+msgstr "Пачатковая _Y:"
+
+#: ../src/display/canvas-axonomgrid.cpp:418
+#: ../src/display/canvas-grid.cpp:685
+#: ../src/ui/dialog/inkscape-preferences.cpp:844
+#: ../src/ui/dialog/inkscape-preferences.cpp:865
+msgid "Y coordinate of grid origin"
+msgstr "Каардыната Y пачатку сеткі"
+
+#: ../src/display/canvas-axonomgrid.cpp:423
+#: ../src/display/canvas-grid.cpp:695
+msgid "Spacing _Y:"
+msgstr "Інтэрвал па _Y:"
+
+#: ../src/display/canvas-axonomgrid.cpp:423
+#: ../src/ui/dialog/inkscape-preferences.cpp:867
+msgid "Base length of z-axis"
+msgstr "Базавая даўжыня восі Z"
 
-#: ../src/display/canvas-axonomgrid.cpp:414 ../src/display/canvas-grid.cpp:678
+#: ../src/display/canvas-axonomgrid.cpp:428
+#: ../src/display/canvas-grid.cpp:701
 msgid "_Major grid line every:"
-msgstr ""
+msgstr "Галоўная _лінія сеткі кожныя:"
 
-#: ../src/display/canvas-axonomgrid.cpp:414 ../src/display/canvas-grid.cpp:678
-#, fuzzy
+#: ../src/display/canvas-axonomgrid.cpp:428
+#: ../src/display/canvas-grid.cpp:701
 msgid "lines"
-msgstr "РаÑ\9eнанÑ\8cне"
+msgstr "лÑ\96нÑ\96Ñ\96"
 
 #: ../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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\83Ñ\8e Ñ\81еÑ\82кÑ\83"
 
 #: ../src/display/canvas-grid.cpp:325
-#, fuzzy
 msgid "_Enabled"
-msgstr "Назва:"
+msgstr "_Задзейнічана"
 
 #: ../src/display/canvas-grid.cpp:326
-msgid ""
-"Determines whether to snap to this grid or not. Can be 'on' for invisible "
-"grids."
-msgstr ""
+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 "_Бачная"
 
 #: ../src/display/canvas-grid.cpp:330
-msgid ""
-"Determines whether the grid is displayed or not. Objects are still snapped "
-"to invisible grids."
-msgstr ""
+msgid "Determines whether the grid is displayed or not. Objects are still snapped to invisible grids."
+msgstr "Вызначае, ці бачная гэтая сетка. Нябачныя сеткі працягваюць прыцягваць абʼекты."
 
-#: ../src/display/canvas-grid.cpp:662
-#, fuzzy
+#: ../src/display/canvas-grid.cpp:690
 msgid "Spacing _X:"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\86нÑ\82Ñ\8dÑ\80вал Ð¿Ð° _X:"
 
-#: ../src/display/canvas-grid.cpp:662
-#: ../src/ui/dialog/inkscape-preferences.cpp:873
-#, fuzzy
+#: ../src/display/canvas-grid.cpp:690
+#: ../src/ui/dialog/inkscape-preferences.cpp:847
 msgid "Distance between vertical grid lines"
-msgstr "Адлюстраваць гарызантальна"
+msgstr "Адлегласьць між лініямі сеткі па вэртыкалі"
 
-#: ../src/display/canvas-grid.cpp:664
-#: ../src/ui/dialog/inkscape-preferences.cpp:874
-#, fuzzy
+#: ../src/display/canvas-grid.cpp:695
+#: ../src/ui/dialog/inkscape-preferences.cpp:848
 msgid "Distance between horizontal grid lines"
-msgstr "Адлюстраваць гарызантальна"
+msgstr "Адлегласьць між лініямі сеткі па гарызанталі"
 
-#: ../src/display/canvas-grid.cpp:697
+#: ../src/display/canvas-grid.cpp:704
 msgid "_Show dots instead of lines"
-msgstr ""
+msgstr "_Паказваць кропкі замест ліній"
 
-#: ../src/display/canvas-grid.cpp:698
-#: ../src/ui/dialog/inkscape-preferences.cpp:883
+#: ../src/display/canvas-grid.cpp:705
+#: ../src/ui/dialog/inkscape-preferences.cpp:857
 msgid "If set, displays dots at gridpoints instead of gridlines"
-msgstr ""
+msgstr "Калі зададзена, то заместа ліній сеткі паказваюцца кропкі"
 
-#: ../src/document.cpp:415
+#: ../src/document.cpp:413
 #, c-format
 msgid "New document %d"
 msgstr "Новы дакумэнт %d"
 
-#: ../src/document.cpp:447
+#: ../src/document.cpp:445
 #, c-format
 msgid "Memory document %d"
 msgstr "Запомніць дакумэнт %d"
 
-#: ../src/document.cpp:603
+#: ../src/document.cpp:585
 #, c-format
 msgid "Unnamed document %d"
 msgstr "Дакумэнт бяз назвы %d"
 
 #. We hit green anchor, closing Green-Blue-Red
-#: ../src/draw-context.cpp:448
+#: ../src/draw-context.cpp:418
 msgid "Path is closed."
-msgstr ""
+msgstr "Шлях закрыты."
 
 #. We hit bot start and end of single curve, closing paths
-#: ../src/draw-context.cpp:463
+#: ../src/draw-context.cpp:433
 msgid "Closing path."
-msgstr ""
+msgstr "Закрываньне шляху."
 
-#: ../src/draw-context.cpp:577
-#, fuzzy
+#: ../src/draw-context.cpp:542
 msgid "Draw path"
-msgstr "Ð\90даÑ\81обÑ\96Ñ\86Ñ\8c"
+msgstr "Ð\9dаÑ\80Ñ\8bÑ\81аваÑ\86Ñ\8c Ñ\88лÑ\8fÑ\85"
 
 #. 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
+#: ../src/dropper-context.cpp:353
 #, c-format
 msgid " alpha %.3g"
-msgstr ""
+msgstr " альфа %.3g"
 
 #. where the color is picked, to show in the statusbar
-#: ../src/dropper-context.cpp:294
+#: ../src/dropper-context.cpp:355
 #, c-format
 msgid ", averaged with radius %d"
-msgstr ""
+msgstr ", спасярэднены з рыдыюсам %d"
 
-#: ../src/dropper-context.cpp:294
+#: ../src/dropper-context.cpp:355
+#, c-format
 msgid " under cursor"
-msgstr ""
+msgstr " пад курсорам"
 
 #. message, to show in the statusbar
-#: ../src/dropper-context.cpp:296
+#: ../src/dropper-context.cpp:357
 msgid "<b>Release mouse</b> to set color."
-msgstr ""
+msgstr "<b>Адпусьці кнопку</b>, каб задаць колер."
 
-#: ../src/dropper-context.cpp:296 ../src/tools-switch.cpp:229
-msgid ""
-"<b>Click</b> to set fill, <b>Shift+click</b> to set stroke; <b>drag</b> to "
-"average color in area; with <b>Alt</b> to pick inverse color; <b>Ctrl+C</b> "
-"to copy the color under mouse to clipboard"
-msgstr ""
+#: ../src/dropper-context.cpp:357
+#: ../src/tools-switch.cpp:226
+msgid "<b>Click</b> to set fill, <b>Shift+click</b> to set stroke; <b>drag</b> to average color in area; with <b>Alt</b> to pick inverse color; <b>Ctrl+C</b> to copy the color under mouse to clipboard"
+msgstr "<b>Пстрычка</b> — задаць запаўненьне, <b>Shift+пстрычка</b> — задаць контур; <b>пацягні</b>, каб спасярэдніць колер вобласьці; з <b>Alt</b> — выбраць адваротны колер; <b>Ctrl+C</b> — скапіяваць колер пад курсорам у буфэр абмену  "
 
-#: ../src/dropper-context.cpp:329
-#, fuzzy
+#: ../src/dropper-context.cpp:390
 msgid "Set picked color"
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\97адаÑ\86Ñ\8c Ñ\83зÑ\8fÑ\82Ñ\8b ÐºÐ¾Ð»ÐµÑ\80"
 
-#: ../src/dyna-draw-context.cpp:625
-msgid ""
-"<b>Guide path selected</b>; start drawing along the guide with <b>Ctrl</b>"
+#: ../src/dyna-draw-context.cpp:701
+msgid "<b>Guide path selected</b>; start drawing along the guide with <b>Ctrl</b>"
 msgstr ""
 
-#: ../src/dyna-draw-context.cpp:627
+#: ../src/dyna-draw-context.cpp:703
 msgid "<b>Select a guide path</b> to track with <b>Ctrl</b>"
 msgstr ""
 
-#: ../src/dyna-draw-context.cpp:732
+#: ../src/dyna-draw-context.cpp:808
 msgid "Tracking: <b>connection to guide path lost!</b>"
 msgstr ""
 
-#: ../src/dyna-draw-context.cpp:732
+#: ../src/dyna-draw-context.cpp:808
+#, fuzzy
 msgid "<b>Tracking</b> a guide path"
-msgstr ""
+msgstr "Тэкст у шлях"
 
-#: ../src/dyna-draw-context.cpp:735
-#, fuzzy
+#: ../src/dyna-draw-context.cpp:811
 msgid "<b>Drawing</b> a calligraphic stroke"
-msgstr "Каліграфічная рыса"
+msgstr "<b>Рысаваньне</b> каліґрафічнага штрыху"
 
-#: ../src/dyna-draw-context.cpp:1016
-#, fuzzy
+#: ../src/dyna-draw-context.cpp:1092
 msgid "Draw calligraphic stroke"
-msgstr "Каліграфічная рыса"
-
-#: ../src/eraser-context.cpp:532
-#, fuzzy
-msgid "<b>Drawing</b> an eraser stroke"
-msgstr "Каліграфічная рыса"
-
-#: ../src/eraser-context.cpp:839
-#, fuzzy
-msgid "Draw eraser stroke"
-msgstr "Каліграфічная рыса"
+msgstr "Рысаваньне каліґрафічных штрыхоў"
 
 #: ../src/event-context.cpp:595
 msgid "<b>Space+mouse drag</b> to pan canvas"
-msgstr ""
+msgstr "<b>Зацісьні прабел і цягні мышай</b>, каб перасоўвацца па палатне"
 
 #: ../src/event-log.cpp:37
 msgid "[Unchanged]"
-msgstr ""
+msgstr "[Ня зьменены]"
 
 #. Edit
-#: ../src/event-log.cpp:264 ../src/event-log.cpp:267 ../src/verbs.cpp:2193
-#, fuzzy
+#: ../src/event-log.cpp:264
+#: ../src/event-log.cpp:267
+#: ../src/verbs.cpp:2162
 msgid "_Undo"
-msgstr "Адкаціцца"
+msgstr "_Адмяніць"
 
-#: ../src/event-log.cpp:274 ../src/event-log.cpp:278 ../src/verbs.cpp:2195
-#, fuzzy
+#: ../src/event-log.cpp:274
+#: ../src/event-log.cpp:278
+#: ../src/verbs.cpp:2164
 msgid "_Redo"
-msgstr "Вярнуцца"
+msgstr "_Паўтарыць"
 
-#: ../src/extension/dependency.cpp:261
+#: ../src/extension/dependency.cpp:249
 msgid "Dependency:"
-msgstr ""
+msgstr "Залежнасьць:"
 
-#: ../src/extension/dependency.cpp:262
-#, fuzzy
+#: ../src/extension/dependency.cpp:250
 msgid "  type: "
-msgstr "Тып файла:"
+msgstr "  тып:"
 
-#: ../src/extension/dependency.cpp:263
+#: ../src/extension/dependency.cpp:251
 msgid "  location: "
-msgstr ""
+msgstr "  месца:"
 
-#: ../src/extension/dependency.cpp:264
+#: ../src/extension/dependency.cpp:252
 msgid "  string: "
-msgstr ""
+msgstr "  радок:"
 
-#: ../src/extension/dependency.cpp:267
+#: ../src/extension/dependency.cpp:255
 msgid "  description: "
-msgstr ""
+msgstr "  апісаньне:"
 
 #: ../src/extension/effect.cpp:35
-#, fuzzy
 msgid " (No preferences)"
-msgstr "Элемэнт зьяўляецца спасылкай"
+msgstr "  (Няма настаўленьняў)"
 
 #. This is some filler text, needs to change before relase
 #: ../src/extension/error-file.cpp:53
 msgid ""
-"<span weight=\"bold\" size=\"larger\">One or more extensions failed to load</"
-"span>\n"
+"<span weight=\"bold\" size=\"larger\">One or more extensions failed to load</span>\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 ""
+"<span weight=\"bold\" size=\"larger\">Не ўдалося загрузіць адзін ці болей пашыральнікаў</span>\n"
+"\n"
+"Няўдалыя пашыральнікі абмінутыя. Inkscape працягне нармальна працаваць, але без наяўнасьці гэтых пашыральнікаў. Па падрабязнасьці для вырашэньня гэтае праблемы глядзі часопіс памылак, які знаходзіцца ў:"
 
 #. This is some filler text, needs to change before relase
 #: ../src/extension/error-file.cpp:62
 msgid "Show dialog on startup"
-msgstr ""
+msgstr "Паказваць дыялёґ на пачатку працы"
 
-#: ../src/extension/execution-env.cpp:134
+#: ../src/extension/execution-env.cpp:165
 #, 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 ""
+#: ../src/extension/extension.cpp:249
+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 для гэтага пашыральніка. Няправільны файл .inx можа быць выкліканы тым, што усталяваньне Inkscape адбылося з памылкамі."
 
-#: ../src/extension/extension.cpp:255
+#: ../src/extension/extension.cpp:252
+#, fuzzy
 msgid "an ID was not defined for it."
-msgstr ""
+msgstr "няма назвы, вызначанай для яго."
 
-#: ../src/extension/extension.cpp:259
+#: ../src/extension/extension.cpp:256
 msgid "there was no name defined for it."
-msgstr ""
+msgstr "няма назвы, вызначанай для яго."
 
-#: ../src/extension/extension.cpp:263
+#: ../src/extension/extension.cpp:260
 msgid "the XML description of it got lost."
-msgstr ""
+msgstr "ягонае XML апісаньне было страчана."
 
-#: ../src/extension/extension.cpp:267
+#: ../src/extension/extension.cpp:264
+#, fuzzy
 msgid "no implementation was defined for the extension."
-msgstr ""
+msgstr "няма назвы, вызначанай для яго."
 
 #. std::cout << "Failed: " << *(_deps[i]) << std::endl;
-#: ../src/extension/extension.cpp:274
+#: ../src/extension/extension.cpp:271
+#, fuzzy
 msgid "a dependency was not met."
-msgstr ""
+msgstr "Файл ня зьменены."
 
-#: ../src/extension/extension.cpp:294
-#, fuzzy
+#: ../src/extension/extension.cpp:291
 msgid "Extension \""
-msgstr "Ð\9fаÑ\88Ñ\8bÑ\80Ñ\8dнÑ\8cне"
+msgstr "Ð\9dе Ð°Ñ\82Ñ\80Ñ\8bмалаÑ\81Ñ\8f Ð·Ð°Ð³Ñ\80Ñ\83зÑ\96Ñ\86Ñ\8c Ð¿Ð°Ñ\88Ñ\8bÑ\80алÑ\8cнÑ\96к Â«"
 
-#: ../src/extension/extension.cpp:294
+#: ../src/extension/extension.cpp:291
 msgid "\" failed to load because "
-msgstr ""
+msgstr "», бо "
 
-#: ../src/extension/extension.cpp:625
+#: ../src/extension/extension.cpp:622
 #, c-format
 msgid "Could not create extension error log file '%s'"
-msgstr ""
+msgstr "Немагчыма стварыць файл часопіса памылак пашыральнікаў «%s»"
 
-#: ../src/extension/extension.cpp:723
+#: ../src/extension/extension.cpp:729
 msgid "Name:"
-msgstr ""
+msgstr "Назва:"
 
-#: ../src/extension/extension.cpp:724
+#: ../src/extension/extension.cpp:730
+#, fuzzy
 msgid "ID:"
-msgstr ""
+msgstr "ID"
 
-#: ../src/extension/extension.cpp:725
-#, fuzzy
+#: ../src/extension/extension.cpp:731
 msgid "State:"
-msgstr "Ð\90кÑ\82Ñ\8bвÑ\96заваÑ\86Ñ\8c:"
+msgstr "СÑ\82ан:"
 
-#: ../src/extension/extension.cpp:725
-#, fuzzy
+#: ../src/extension/extension.cpp:731
 msgid "Loaded"
-msgstr "Ð\92Ñ\83зел"
+msgstr "Ð\97агÑ\80Ñ\83жанÑ\8b"
 
-#: ../src/extension/extension.cpp:725
-#, fuzzy
+#: ../src/extension/extension.cpp:731
 msgid "Unloaded"
-msgstr "Ð\91Ñ\8fз Ð½Ð°Ð·Ð²ы"
+msgstr "Ð\92Ñ\8bгÑ\80Ñ\83жаны"
 
-#: ../src/extension/extension.cpp:725
+#: ../src/extension/extension.cpp:731
 msgid "Deactivated"
-msgstr ""
+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."
-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 ""
+#: ../src/extension/implementation/script.cpp:1081
+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 атрымаў дадатковыя даньні ад выкананага сцэнара. Сцэнар ня вернуў памылкі, але гэта можа значыць, што вынікі будуць не такія, як чакалася."
 
-#: ../src/extension/init.cpp:282
+#: ../src/extension/init.cpp:276
 msgid "Null external module directory name.  Modules will not be loaded."
-msgstr ""
+msgstr "Пустая назва каталёґу вонкавых модуляў. Модулі ня будуць загружаныя."
 
-#: ../src/extension/init.cpp:296
-#: ../src/extension/internal/filter/filter-file.cpp:56
+#: ../src/extension/init.cpp:290
 #, 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 ""
+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-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/libgdl/gdl-dock.c:190
+#: ../src/live_effects/lpe-pathalongpath.cpp:58
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:64
+#: ../src/widgets/toolbox.cpp:2249
+#: ../src/widgets/toolbox.cpp:3026
 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-placeholder.c:177
+#: ../src/libgdl/gdl-dock.c:198
+#: ../src/widgets/toolbox.cpp:2266
 msgid "Height"
-msgstr "Вышыня:"
+msgstr "Вышыня"
 
 #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:42
 #: ../src/filter-enums.cpp:32
-#, fuzzy
 msgid "Offset"
-msgstr "-"
+msgstr "Зрух"
 
 #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:46
 #: ../src/extension/internal/bitmap/addNoise.cpp:57
@@ -2810,7 +2710,6 @@ msgstr "-"
 #: ../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
@@ -2838,51 +2737,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 "Ð\9fаднÑ\8fÑ\86Ñ\8c"
+msgstr "РаÑ\81Ñ\82аÑ\80"
 
 #: ../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 "Ð\92Ñ\83злÑ\8b"
+msgstr "Ð\94адаÑ\86Ñ\8c Ñ\88Ñ\83м"
 
 #: ../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 "СÑ\96нÑ\96:"
+msgstr "РазмÑ\8bÑ\86Ñ\8cÑ\86Ñ\91"
 
 #: ../src/extension/internal/bitmap/blur.cpp:39
 #: ../src/extension/internal/bitmap/charcoal.cpp:39
@@ -2892,10 +2788,9 @@ 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:2251
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2248
 msgid "Radius"
-msgstr "Радыюс:"
+msgstr "Радыюс"
 
 #: ../src/extension/internal/bitmap/blur.cpp:40
 #: ../src/extension/internal/bitmap/charcoal.cpp:40
@@ -2903,1926 +2798,1466 @@ 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 "Ð\9cаÑ\88Ñ\82аб"
+msgstr "СÑ\96Ò\91ма"
 
 #: ../src/extension/internal/bitmap/blur.cpp:46
-#, fuzzy
 msgid "Blur selected bitmap(s)"
-msgstr "Ð\93Ñ\80Ñ\83пÑ\83е Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "РазмÑ\8bÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ñ\80аÑ\81Ñ\82аÑ\80"
 
 #: ../src/extension/internal/bitmap/channel.cpp:47
 #: ../src/extension/internal/bitmap/levelChannel.cpp:53
-#, fuzzy
 msgid "Channel"
-msgstr "Ð\90дмÑ\8fнÑ\96Ñ\86Ñ\8c"
+msgstr "Ð\9aанал"
 
 #: ../src/extension/internal/bitmap/channel.cpp:49
-#, fuzzy
 msgid "Layer"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fлаÑ\81Ñ\82"
 
 #: ../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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\91лакÑ\96Ñ\82нÑ\8b ÐºÐ°Ð½Ð°Ð»"
 
 #: ../src/extension/internal/bitmap/channel.cpp:54
 #: ../src/extension/internal/bitmap/levelChannel.cpp:58
-#, fuzzy
 msgid "Magenta Channel"
-msgstr "Ð\9cалÑ\96навÑ\8b:"
+msgstr "Ð\9fÑ\83Ñ\80пÑ\83Ñ\80овÑ\8b ÐºÐ°Ð½Ð°Ð»"
 
 #: ../src/extension/internal/bitmap/channel.cpp:55
 #: ../src/extension/internal/bitmap/levelChannel.cpp:59
-#, fuzzy
 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 "Ð\97аÑ\86Ñ\8fмненÑ\8cне:"
+msgstr "Ð\9aанал Ð½ÐµÐ¿Ñ\80азÑ\80Ñ\8bÑ\81Ñ\82аÑ\81Ñ\8cÑ\86Ñ\96"
 
 #: ../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
-#, fuzzy
 msgid "Apply charcoal stylization to selected bitmap(s)."
-msgstr "СкÑ\96нÑ\83Ñ\86Ñ\8c Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маÑ\86Ñ\8bÑ\8e"
+msgstr "УжÑ\8bÑ\86Ñ\8c Ñ\81Ñ\82Ñ\8bлÑ\96заÑ\86Ñ\8bÑ\8e Ð¿Ð°Ð´ Ò\91Ñ\80аÑ\84Ñ\96кÑ\83 Ð²Ñ\83глем Ð´Ð° Ð²Ñ\8bлÑ\83Ñ\87анага Ñ\80аÑ\81Ñ\82Ñ\80а."
 
 #: ../src/extension/internal/bitmap/colorize.cpp:49
-#, fuzzy
 msgid "Colorize"
-msgstr "ФаÑ\80баваць"
+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 "ФаÑ\80маванÑ\8cне"
+msgstr "Ð\9fадвÑ\8bÑ\81Ñ\96Ñ\86Ñ\8c Ñ\80Ñ\8dзкаÑ\81Ñ\8cÑ\86Ñ\8c"
 
 #: ../src/extension/internal/bitmap/contrast.cpp:44
 msgid "Enhance intensity differences in selected bitmap(s)."
-msgstr ""
-
-#. TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-convolve.html
-#: ../src/extension/internal/bitmap/convolve.cpp:50
-#, fuzzy
-msgid "Convolve"
-msgstr "Закрыць"
-
-#: ../src/extension/internal/bitmap/convolve.cpp:52
-#: ../src/extension/internal/bitmap/reduceNoise.cpp:41
-#: ../share/extensions/lindenmayer.inx.h:6
-msgid "Order"
-msgstr "Парадак"
-
-#: ../src/extension/internal/bitmap/convolve.cpp:53
-msgid "Kernel Array"
-msgstr ""
-
-#: ../src/extension/internal/bitmap/convolve.cpp:59
-msgid "Apply Convolve Effect"
-msgstr ""
+msgstr "Палепшыць рознасьць яркасьцяў вылучанага растра."
 
 #: ../src/extension/internal/bitmap/cycleColormap.cpp:36
+#, fuzzy
 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 "Ð\9fÑ\83нкÑ\82"
+msgstr "Ð\9aолÑ\8cкаÑ\81Ñ\8cÑ\86Ñ\8c"
 
 #: ../src/extension/internal/bitmap/cycleColormap.cpp:44
+#, fuzzy
 msgid "Cycle colormap(s) of selected bitmap(s)."
-msgstr ""
+msgstr "Гаўсаўскае размыцьцё вылучанага растра."
 
 #: ../src/extension/internal/bitmap/despeckle.cpp:35
-#, fuzzy
 msgid "Despeckle"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\90Ñ\87Ñ\8bÑ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c"
 
 #: ../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 "Стварыць вылучаны растар рэльефным, падсьвяціўшы краі трохмерным эфэктам."
 
 #: ../src/extension/internal/bitmap/enhance.cpp:34
-#, fuzzy
 msgid "Enhance"
-msgstr "Ð\90дмÑ\8fнÑ\96ць"
+msgstr "Ð\9fалепÑ\88Ñ\8bць"
 
 #: ../src/extension/internal/bitmap/enhance.cpp:41
 msgid "Enhance selected bitmap(s) -- minimize noise."
-msgstr ""
+msgstr "Палепшыць вылучаны растар — зьменшыць шум."
 
 #: ../src/extension/internal/bitmap/equalize.cpp:34
 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 "Ð\9fаÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\9cножнÑ\96к"
 
 #: ../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 "Ð\86мпаÑ\80Ñ\82аваÑ\86Ñ\8c"
+msgstr "Ð\92Ñ\8bбÑ\83Ñ\85 Ñ\83нÑ\83Ñ\82аÑ\80"
 
 #: ../src/extension/internal/bitmap/implode.cpp:44
-#, fuzzy
 msgid "Implode selected bitmap(s)."
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\92Ñ\8bбÑ\83Ñ\85 Ð²Ñ\8bлÑ\83Ñ\87анага Ñ\80аÑ\81Ñ\82Ñ\80а Ñ\9eнÑ\83Ñ\82аÑ\80."
 
 #: ../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 "УзоÑ\80:"
+msgstr "Ð\91елÑ\8b Ð¿Ñ\83нкÑ\82"
 
 #: ../src/extension/internal/bitmap/levelChannel.cpp:66
 #: ../src/extension/internal/bitmap/level.cpp:44
 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
 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 "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9cÑ\8dдÑ\8bÑ\8fннÑ\8b Ñ\84Ñ\96лÑ\8cÑ\82аÑ\80"
 
 #: ../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 "Рэжым:"
+msgstr "Рэґуляваць"
 
 #: ../src/extension/internal/bitmap/modulate.cpp:41
-#, fuzzy
 msgid "Brightness"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð²Ñ\96даÑ\80Ñ\8bÑ\81а"
+msgstr "ЯÑ\80каÑ\81Ñ\8cÑ\86Ñ\8c"
 
 #: ../src/extension/internal/bitmap/modulate.cpp:42
-#: ../src/flood-context.cpp:275 ../src/ui/dialog/inkscape-preferences.cpp:731
+#: ../src/flood-context.cpp:254
+#: ../src/ui/dialog/inkscape-preferences.cpp:705
 #: ../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:3158
 #: ../share/extensions/color_randomize.inx.h:5
-#, fuzzy
 msgid "Saturation"
-msgstr "Насычанасьць:"
+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:253
+#: ../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:3144
 #: ../share/extensions/color_randomize.inx.h:2
-#, fuzzy
 msgid "Hue"
-msgstr "Тон:"
+msgstr "Ð\90дÑ\86енÑ\8cне"
 
 #: ../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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9dÑ\8dÒ\91аÑ\82Ñ\8bÑ\9e"
 
 #: ../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 "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\9dаÑ\80малÑ\96заваÑ\86Ñ\8c"
 
 #: ../src/extension/internal/bitmap/normalize.cpp:42
-msgid ""
-"Normalize selected bitmap(s), expanding color range to the full possible "
-"range of color."
+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 "Ð\94Ñ\80Ñ\83каваÑ\86Ñ\8c"
+msgstr "Ð\9cалÑ\8fванÑ\8cне Ð°Ð»ÐµÐµÐ¼"
 
 #: ../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
+#: ../src/selection-chemistry.cpp:691
 msgid "Raise"
-msgstr "Ð\9fадняць"
+msgstr "УзÑ\8cняць"
 
 #: ../src/extension/internal/bitmap/raise.cpp:43
-#, fuzzy
 msgid "Raised"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c"
+msgstr "УзÑ\8cнÑ\8fÑ\82Ñ\8b"
 
 #: ../src/extension/internal/bitmap/raise.cpp:49
-msgid ""
-"Alter lightness the edges of selected bitmap(s) to create a raised "
-"appearance."
+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:41
+#: ../share/extensions/lindenmayer.inx.h:4
+msgid "Order"
+msgstr "Парадак"
 
 #: ../src/extension/internal/bitmap/reduceNoise.cpp:47
-msgid ""
-"Reduce noise in selected bitmap(s) using a noise peak elimination filter."
+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 "ФаÑ\80маванÑ\8cне"
+msgstr "Ð\9fÑ\80Ñ\8bклад"
 
 #: ../src/extension/internal/bitmap/sample.cpp:47
-msgid ""
-"Alter the resolution of selected image by resizing it by given dimensions."
+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 "ФаÑ\80маванÑ\8cне"
+msgstr "ЦенÑ\8c"
 
 #: ../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 "РазÑ\80озÑ\8cненÑ\8cне:"
+msgstr "Ð\92Ñ\8bÑ\88Ñ\8bнÑ\8f"
 
 #: ../src/extension/internal/bitmap/shade.cpp:43
 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 "Ð\93Ñ\80Ñ\83пÑ\83е Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\9dаладзÑ\96Ñ\86Ñ\8c Ñ\80Ñ\8dзкаÑ\81Ñ\8cÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анага Ñ\80аÑ\81Ñ\82аÑ\80а."
 
 #: ../src/extension/internal/bitmap/solarize.cpp:36
-#, fuzzy
 msgid "Solarize"
-msgstr "Ð\91акÑ\96:"
+msgstr "Ð\9fеÑ\80аÑ\82Ñ\80Ñ\8bмка"
 
 #: ../src/extension/internal/bitmap/solarize.cpp:44
 msgid "Solarize selected bitmap(s), like overexposing photographic film."
 msgstr ""
 
 #: ../src/extension/internal/bitmap/spread.cpp:36
-#, fuzzy
 msgid "Spread"
-msgstr "СпÑ\96Ñ\80аль"
+msgstr "РаÑ\81паÑ\9eÑ\81Ñ\8eдзÑ\96Ñ\86ь"
 
 #: ../src/extension/internal/bitmap/spread.cpp:44
-msgid ""
-"Randomly spread pixels in selected bitmap(s), within the radius of 'amount.'"
+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 "СпÑ\96Ñ\80алÑ\8c"
+msgstr "Ð\92Ñ\96Ñ\80"
 
 #: ../src/extension/internal/bitmap/swirl.cpp:38
-#: ../share/extensions/grid_polar.inx.h:7
-#, fuzzy
 msgid "Degrees"
-msgstr "град"
+msgstr "Ґрадус"
 
 #: ../src/extension/internal/bitmap/swirl.cpp:44
-#, fuzzy
 msgid "Swirl selected bitmap(s) around center point."
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\97акÑ\80Ñ\83Ñ\87вае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ñ\80аÑ\81Ñ\82аÑ\80 Ð²Ð°ÐºÐ¾Ð» Ñ\81Ñ\8fÑ\80Ñ\8dднÑ\8fга Ð¿Ñ\83нкÑ\82Ñ\83."
 
 #. 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 "Ð\97аÑ\85аваÑ\86Ñ\8c"
+msgstr "ХвалÑ\8f"
 
 #: ../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 ""
 
 #: ../src/extension/internal/bluredge.cpp:132
-#, fuzzy
 msgid "Inset/Outset Halo"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "СÑ\8cÑ\86Ñ\96Ñ\81нÑ\83Ñ\86Ñ\8c\80аÑ\81Ñ\8cÑ\86Ñ\8fгнÑ\83Ñ\86Ñ\8c Ð³Ð°Ð»Ð¾"
 
 #: ../src/extension/internal/bluredge.cpp:134
 msgid "Width in px of the halo"
-msgstr ""
+msgstr "Шырыня гало ў піксэлях"
 
 #: ../src/extension/internal/bluredge.cpp:135
 msgid "Number of steps"
-msgstr ""
+msgstr "Колькасьць крокаў"
 
 #: ../src/extension/internal/bluredge.cpp:135
 msgid "Number of inset/outset copies of the object to make"
 msgstr ""
 
 #: ../src/extension/internal/bluredge.cpp:139
-#: ../share/extensions/interp.inx.h:3 ../share/extensions/motion.inx.h:3
+#: ../share/extensions/dimension.inx.h:2
+#: ../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
+#: ../src/extension/internal/cairo-pdf-out.cpp:171
 msgid "Cairo PDF Output"
-msgstr "-"
+msgstr "Выводжаньне Cairo PDF"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:241
+#: ../src/extension/internal/cairo-pdf-out.cpp:173
 msgid "Restrict to PDF version"
-msgstr ""
+msgstr "Абмежаваць да вэрсіі PDF"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:242
+#: ../src/extension/internal/cairo-pdf-out.cpp:174
 msgid "PDF 1.4"
-msgstr ""
+msgstr "PDF 1.4"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:244
+#: ../src/extension/internal/cairo-pdf-out.cpp:176
 #: ../src/extension/internal/cairo-ps-out.cpp:230
-#: ../src/extension/internal/emf-win32-inout.cpp:2182
+#: ../src/extension/internal/emf-win32-inout.cpp:1715
 #: ../src/extension/internal/eps-out.cpp:92
 #: ../src/extension/internal/ps-out.cpp:84
-#, fuzzy
 msgid "Convert texts to paths"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ñ\82Ñ\8dкÑ\81Ñ\82Ñ\8b Ñ\9e Ñ\88лÑ\8fÑ\85Ñ\96"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:245
+#: ../src/extension/internal/cairo-pdf-out.cpp:177
 #: ../src/extension/internal/cairo-ps-out.cpp:231
-#, fuzzy
 msgid "Convert blur effects to bitmaps"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ñ\8dÑ\84Ñ\8dкÑ\82Ñ\8b Ñ\80азмÑ\8bÑ\86Ñ\8cÑ\86Ñ\8f Ñ\9e Ñ\80аÑ\81Ñ\82Ñ\80Ñ\8b"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:246
+#: ../src/extension/internal/cairo-pdf-out.cpp:178
 #: ../src/extension/internal/cairo-ps-out.cpp:232
 msgid "Preferred resolution (DPI) of bitmaps"
-msgstr ""
-
-#: ../src/extension/internal/cairo-pdf-out.cpp:247
-#, fuzzy
-msgid "Export drawing, not page"
-msgstr "Прастора экспартаваньня"
-
-#: ../src/extension/internal/cairo-pdf-out.cpp:248
-#, fuzzy
-msgid "Export canvas"
-msgstr "Экспартаваць"
+msgstr "Пажаданае разрозьненьне растраў (DPI)"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:249
-msgid "Limit export to the object with ID"
-msgstr ""
-
-#: ../src/extension/internal/cairo-pdf-out.cpp:253
+#: ../src/extension/internal/cairo-pdf-out.cpp:182
 msgid "PDF via Cairo (*.pdf)"
-msgstr ""
+msgstr "PDF праз Cairo (*.pdf)"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:254
-#, fuzzy
+#: ../src/extension/internal/cairo-pdf-out.cpp:183
 msgid "PDF File"
-msgstr "Файл"
+msgstr "Файл PDF"
 
 #: ../src/extension/internal/cairo-ps-out.cpp:222
-#, fuzzy
 msgid "Cairo PS Output"
-msgstr "-"
+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
 msgid "PostScript level 3"
-msgstr ""
+msgstr "PostScript узроўню 3"
 
 #: ../src/extension/internal/cairo-ps-out.cpp:227
 msgid "PostScript level 2"
-msgstr ""
+msgstr "PostScript узроўню 2"
 
 #: ../src/extension/internal/cairo-ps-out.cpp:236
 msgid "PostScript via Cairo (*.ps)"
-msgstr ""
+msgstr "PostScript праз Cairo (*.ps)"
 
 #: ../src/extension/internal/cairo-ps-out.cpp:237
 #: ../src/extension/internal/ps-out.cpp:90
 msgid "PostScript File"
-msgstr ""
+msgstr "Файл PostScript"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2152
-#, fuzzy
+#: ../src/extension/internal/emf-win32-inout.cpp:1685
 msgid "EMF Input"
-msgstr "Увод"
+msgstr "Уводжаньне EMF"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2157
+#: ../src/extension/internal/emf-win32-inout.cpp:1690
 msgid "Enhanced Metafiles (*.emf)"
-msgstr ""
+msgstr "Файлы Enhanced Metafile (*.emf)"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2158
+#: ../src/extension/internal/emf-win32-inout.cpp:1691
 msgid "Enhanced Metafiles"
-msgstr ""
+msgstr "Файлы Enhanced Metafile"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2166
-#, fuzzy
+#: ../src/extension/internal/emf-win32-inout.cpp:1699
 msgid "WMF Input"
-msgstr "Увод"
+msgstr "Уводжаньне WMF"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2171
+#: ../src/extension/internal/emf-win32-inout.cpp:1704
 msgid "Windows Metafiles (*.wmf)"
-msgstr ""
+msgstr "Файлы Windows Metafile (*.wmf)"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2172
+#: ../src/extension/internal/emf-win32-inout.cpp:1705
 msgid "Windows Metafiles"
-msgstr ""
+msgstr "Файлы Windows Metafile"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2180
-#, fuzzy
+#: ../src/extension/internal/emf-win32-inout.cpp:1713
 msgid "EMF Output"
-msgstr "-"
+msgstr "Выводжаньне EMF"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2186
+#: ../src/extension/internal/emf-win32-inout.cpp:1719
 msgid "Enhanced Metafile (*.emf)"
-msgstr ""
+msgstr "Enhanced Metafile (*.emf)"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2187
-#, fuzzy
+#: ../src/extension/internal/emf-win32-inout.cpp:1720
 msgid "Enhanced Metafile"
-msgstr "Стварыць лучыва"
+msgstr "Enhanced Metafile"
 
 #: ../src/extension/internal/eps-out.cpp:89
 msgid "Encapsulated Postscript Output"
-msgstr ""
+msgstr "Выводжаньне Encapsulated PostScript"
 
 #: ../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 Postscript (*.eps)"
 
 #: ../src/extension/internal/eps-out.cpp:98
 msgid "Encapsulated Postscript File"
-msgstr ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/apparition.h:24
-#, fuzzy
-msgid "Apparition"
-msgstr "Насычанасьць:"
+msgstr "Файл Encapsulated Postscript"
 
-#. 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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/bloom.h:24
-#, fuzzy
-msgid "Bloom"
-msgstr "Маштабаваньне"
-
-#. 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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/clouds.h:24
-#, fuzzy
-msgid "Clouds"
-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 "Вылучэньне"
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/crystal.h:24
-msgid "Crystal"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/cutout.h:24
-#, fuzzy
-msgid "Coutout"
-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 "Адлюстраваць вэртыкальна"
-
-#: ../src/extension/internal/filter/drop-shadow.h:35
-msgid "Drop Shadow"
-msgstr ""
-
-#: ../src/extension/internal/filter/drop-shadow.h:37
-#, fuzzy
-msgid "Amount of Blur"
-msgstr "Пункт"
-
-#: ../src/extension/internal/filter/drop-shadow.h:38
-#: ../src/extension/internal/grid.cpp:197
-#, fuzzy
-msgid "Horizontal Offset"
-msgstr "Адлюстраваць гарызантальна"
-
-#: ../src/extension/internal/filter/drop-shadow.h:39
-#: ../src/extension/internal/grid.cpp:198
-#, fuzzy
-msgid "Vertical Offset"
-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 "Фільтары"
-
-#: ../src/extension/internal/filter/drop-shadow.h:45
-#, fuzzy
-msgid "I hate text"
-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 "Адлюстраваць гарызантальна"
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/etched-glass.h:24
-msgid "Etched Glass"
-msgstr ""
-
-#: ../src/extension/internal/filter/filter-file.cpp:32
-#, fuzzy
-msgid "Bundled"
-msgstr "Чырвоны:"
-
-#: ../src/extension/internal/filter/filter-file.cpp:33
-msgid "Personal"
-msgstr ""
-
-#: ../src/extension/internal/filter/filter-file.cpp:44
-msgid "Null external module directory name.  Filters will not be loaded."
-msgstr ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/fire.h:24
-#, fuzzy
-msgid "Fire"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/frost.h:24
-#, fuzzy
-msgid "Frost"
-msgstr "Пункт"
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/ink-bleed.h:24
-#, fuzzy
-msgid "InkBleed"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/jelly-bean.h:24
-msgid "Jelly Bean"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/jigsaw-piece.h:24
-msgid "JigsawPiece"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/leopard-fur.h:24
-msgid "Leopard Fur"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/melt.h:22
-#, fuzzy
-msgid "Melt"
-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 "Адлюстраваць гарызантальна"
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/metal.h:24
-#, fuzzy
-msgid "Metal"
-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 "Групуе вылучаныя аб'екты"
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/motion-blur.h:24
-msgid "Motion Blur"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/oil-slick.h:24
-#, fuzzy
-msgid "OilSlick"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/patterned-glass.h:24
-#, fuzzy
-msgid "PatternedGlass"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/ridged-border.h:24
-#, fuzzy
-msgid "Ridged Border"
-msgstr "Рэжым:"
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/ripple.h:24
-#, fuzzy
-msgid "Ripple"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/roughen.h:24
-#, fuzzy
-msgid "Roughen"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/rubber-stamp.h:24
-#, fuzzy
-msgid "RubberStamp"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/sepia.h:24
-#, fuzzy
-msgid "Sepia"
-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 ""
-
-#: ../src/extension/internal/filter/snow.h:32
-#, fuzzy
-msgid "Snow"
-msgstr "Паказаць:"
-
-#: ../src/extension/internal/filter/snow.h:34
-#, fuzzy
-msgid "Drift Size"
-msgstr "Памер шрыфта:"
-
-#: ../src/extension/internal/filter/snow.h:40
-msgid "When the weather outside is frightening..."
-msgstr ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/speckle.h:24
-#, fuzzy
-msgid "Speckle"
-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 ""
-
-#. ID -- should be unique
-#: ../src/extension/internal/filter/zebra.h:24
-msgid "Zebra Stripes"
-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 ""
-
-#: ../src/extension/internal/gdkpixbuf-input.cpp:114
-#, c-format
+#: ../src/extension/internal/gdkpixbuf-input.cpp:113
+#, fuzzy, c-format
 msgid "%s GDK pixbuf Input"
-msgstr ""
+msgstr "Наставіць прылады ўвядзеньня"
 
 #: ../src/extension/internal/gimpgrad.cpp:274
 msgid "GIMP Gradients"
-msgstr ""
+msgstr "Ґрадыенты GIMP"
 
 #: ../src/extension/internal/gimpgrad.cpp:279
 msgid "GIMP Gradient (*.ggr)"
-msgstr ""
+msgstr "Ґрадыент GIMP (*.ggr)"
 
 #: ../src/extension/internal/gimpgrad.cpp:280
 msgid "Gradients used in GIMP"
-msgstr ""
+msgstr "Ґрадыенты, якія выкарыстоўваюцца ў GIMP"
 
-#: ../src/extension/internal/grid.cpp:192 ../src/ui/widget/panel.cpp:122
+#: ../src/extension/internal/grid.cpp:192
+#: ../src/ui/widget/panel.cpp:140
 msgid "Grid"
 msgstr "Сетка"
 
 #: ../src/extension/internal/grid.cpp:194
-#, fuzzy
 msgid "Line Width"
-msgstr "ШÑ\8bÑ\80Ñ\8bнÑ\8f:"
+msgstr "ТаÑ\9eÑ\88Ñ\87Ñ\8bнÑ\8f Ð»Ñ\96нÑ\96Ñ\96"
 
 #: ../src/extension/internal/grid.cpp:195
-#, fuzzy
 msgid "Horizontal Spacing"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\9fÑ\80Ñ\8bгал Ð¿Ð° Ð³Ð°Ñ\80Ñ\8bзÑ\8bнÑ\82алÑ\96"
 
 #: ../src/extension/internal/grid.cpp:196
-#, fuzzy
 msgid "Vertical Spacing"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "Ð\9fÑ\80агал Ð¿Ð° Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\96"
 
-#: ../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
+#: ../src/extension/internal/grid.cpp:197
+msgid "Horizontal Offset"
+msgstr "Зрушыць па гарызанталі"
+
+#: ../src/extension/internal/grid.cpp:198
+msgid "Vertical Offset"
+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
+#: ../share/extensions/lindenmayer.inx.h:9
 #: ../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
-#, fuzzy
+#: ../share/extensions/rtree.inx.h:4
+#: ../share/extensions/spirograph.inx.h:6
 msgid "Render"
-msgstr "Ð\92Ñ\8bвад"
+msgstr "Ð\9fабÑ\83дова"
 
 #: ../src/extension/internal/grid.cpp:204
 msgid "Draw a path which is a grid"
-msgstr ""
+msgstr "Нарысаваць шлях, які зьяўляецца сеткай"
 
 #: ../src/extension/internal/latex-pstricks.cpp:347
-#, fuzzy
 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 з макрасамі PSTricks (*.tex)"
 
 #: ../src/extension/internal/latex-pstricks-out.cpp:112
 msgid "LaTeX PSTricks File"
-msgstr ""
+msgstr "Файл LaTeX PSTricks"
 
 #: ../src/extension/internal/odf.cpp:2424
 msgid "OpenDocument Drawing Output"
-msgstr ""
+msgstr "Выводжаньне рысунка OpenDocument"
 
 #: ../src/extension/internal/odf.cpp:2429
 msgid "OpenDocument drawing (*.odg)"
-msgstr ""
+msgstr "Рысунак OpenDocument (*.odg)"
 
 #: ../src/extension/internal/odf.cpp:2430
-#, fuzzy
 msgid "OpenDocument drawing file"
-msgstr "ЭкÑ\81паÑ\80Ñ\82аваÑ\86Ñ\8c Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82 Ñ\83 Ñ\84айл png"
+msgstr "Файл Ñ\80Ñ\8bÑ\81Ñ\83нка OpenDocument"
 
-#: ../src/extension/internal/pdf-cairo.cpp:127
-#: ../src/extension/internal/ps.cpp:147
-#, fuzzy
+#: ../src/extension/internal/pdf-cairo.cpp:123
+#: ../src/extension/internal/ps.cpp:146
 msgid "Print Destination"
-msgstr "Ð\94Ñ\80Ñ\83к"
+msgstr "Ð\9fÑ\80Ñ\8bзнаÑ\87Ñ\8dнÑ\8cне Ð´Ñ\80Ñ\83кÑ\83"
 
 #. Print properties frame
-#: ../src/extension/internal/pdf-cairo.cpp:142
-#: ../src/extension/internal/ps.cpp:162
+#: ../src/extension/internal/pdf-cairo.cpp:138
+#: ../src/extension/internal/ps.cpp:161
 msgid "Print properties"
 msgstr "Уласьцівасьці друку"
 
-#: ../src/extension/internal/pdf-cairo.cpp:149
-#, fuzzy
+#: ../src/extension/internal/pdf-cairo.cpp:145
 msgid "Print using PDF operators"
-msgstr "Дроукаваць карыстаючыся апэратарамі PostScript"
+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 ""
+#: ../src/extension/internal/pdf-cairo.cpp:147
+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
+#: ../src/extension/internal/pdf-cairo.cpp:152
+#: ../src/extension/internal/ps.cpp:175
 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 ""
+#: ../src/extension/internal/pdf-cairo.cpp:154
+#: ../src/extension/internal/ps.cpp:177
+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
+#: ../src/extension/internal/pdf-cairo.cpp:168
+#: ../src/extension/internal/ps.cpp:191
 msgid "Preferred resolution (dots per inch) of bitmap"
-msgstr ""
+msgstr "Пажаданае разрозьненьне (пунктаў на цалю) растра"
 
-#: ../src/extension/internal/pdf-cairo.cpp:186
-#: ../src/extension/internal/ps.cpp:206
+#: ../src/extension/internal/pdf-cairo.cpp:182
+#: ../src/extension/internal/ps.cpp:205
 msgid "Resolution:"
 msgstr "Разрозьненьне:"
 
 #. Print destination frame
-#: ../src/extension/internal/pdf-cairo.cpp:190
-#: ../src/extension/internal/ps.cpp:213
+#: ../src/extension/internal/pdf-cairo.cpp:186
+#: ../src/extension/internal/ps.cpp:212
 msgid "Print destination"
-msgstr "Ð\94Ñ\80Ñ\83к"
+msgstr "Ð\9fÑ\80Ñ\8bзнаÑ\87Ñ\8dнÑ\8cне Ð´Ñ\80Ñ\83кÑ\83"
 
-#: ../src/extension/internal/pdf-cairo.cpp:196
-#: ../src/extension/internal/ps.cpp:219
-#, fuzzy
+#: ../src/extension/internal/pdf-cairo.cpp:192
+#: ../src/extension/internal/ps.cpp:218
 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 ""
-"Ð\9fазнаÑ\87Ñ\86е Ñ\87аÑ\80гÑ\83 lpr.\n"
-"Ð\92Ñ\8bкаÑ\80Ñ\8bÑ\81Ñ\82оÑ\9eвайÑ\86е '> Ð½Ð°Ð·Ð²Ð°_Ñ\84айла' ÐºÐ°Ð± Ð´Ñ\80Ñ\83каваÑ\86Ñ\8c Ñ\83 Ñ\84айл.\n"
-"Выкарыстоўвайце '| праграма аргумэнты...' каб накіраваць праз канал у "
-"пÑ\80агÑ\80амÑ\83"
+"Ð\9dазва Ð´Ñ\80Ñ\83каÑ\80кÑ\96 (Ñ\8fк Ð²Ñ\8bдадзена lpstat -p);\n"
+"пакÑ\96нÑ\8c Ð¿Ñ\83Ñ\81Ñ\82Ñ\8bм, ÐºÐ°Ð± ÐºÐ°Ñ\80Ñ\8bÑ\81Ñ\82аÑ\86Ñ\86а Ð¿Ñ\80адвÑ\8bзнаÑ\87анай Ð´Ñ\80Ñ\83каÑ\80кай.\n"
+"Выкарыстоўвай «> назва_файла» каб друкаваць у файл.\n"
+"Ð\92Ñ\8bкаÑ\80Ñ\8bÑ\81Ñ\82оÑ\9eвай Â«| Ð¿Ñ\80аÒ\91Ñ\80ама Ð¿Ð°Ñ\80амÑ\8dÑ\82Ñ\80Ñ\8bâ\80¦Â» ÐºÐ°Ð± Ð½Ð°ÐºÑ\96Ñ\80аваÑ\86Ñ\8c Ð¿Ñ\80аз ÐºÐ°Ð½Ð°Ð» Ñ\83 Ð¿Ñ\80аÒ\91Ñ\80амÑ\83."
 
-#: ../src/extension/internal/pdf-cairo.cpp:1060
-#, fuzzy
+#: ../src/extension/internal/pdf-cairo.cpp:1021
 msgid "PDF Print"
-msgstr "Друкаваць"
+msgstr "Друк PDF"
 
 #. 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
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:54
+#, fuzzy
 msgid "media box"
-msgstr ""
+msgstr "_Панэль інструмэнтаў"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:57
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:55
+#, fuzzy
 msgid "crop box"
-msgstr ""
+msgstr "_Панэль інструмэнтаў"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:58
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:56
+#, fuzzy
 msgid "trim box"
-msgstr ""
+msgstr "_Панэль інструмэнтаў"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:59
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:57
+#, fuzzy
 msgid "bleed box"
-msgstr ""
+msgstr "_Панэль інструмэнтаў"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:60
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:58
+#, fuzzy
 msgid "art box"
-msgstr ""
+msgstr "_Панэль інструмэнтаў"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:72
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:70
 msgid "Select page:"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bбеÑ\80Ñ\8b Ñ\81Ñ\82аÑ\80онкÑ\83:"
 
 #. Display total number of pages
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:86
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:84
 #, c-format
 msgid "out of %i"
-msgstr ""
+msgstr "з %i"
 
 #. Crop settings
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:92
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:90
 msgid "Clip to:"
-msgstr ""
+msgstr "Абрэзаць да:"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:104
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:102
 msgid "Page settings"
-msgstr "Ð\9dаладкÑ\96 Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкі"
+msgstr "Ð\9dаладкÑ\96 Ñ\81Ñ\82аÑ\80онкі"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:106
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:104
 msgid "Precision of approximating gradient meshes:"
-msgstr ""
+msgstr "Дакладнасьць перадачы ґрадыентных сетак:"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:107
-msgid ""
-"<b>Note</b>: setting the precision too high may result in a large SVG file "
-"and slow performance."
-msgstr ""
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:105
+msgid "<b>Note</b>: setting the precision too high may result in a large SVG file and slow performance."
+msgstr "<b>Увага</b>: чым большая дакладнасьць, тым большы выніковы файл SVG і павольнейшае выкананьне."
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:112
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:381
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:110
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:379
 msgid "rough"
-msgstr "Ð\97гÑ\80Ñ\83паваÑ\86Ñ\8c"
+msgstr "гÑ\80Ñ\83баÑ\8f"
 
 #. Text options
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:116
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:114
 msgid "Text handling:"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ñ\82Ñ\8dкÑ\81Ñ\82а"
+msgstr "Ð\90пÑ\80аÑ\86оÑ\9eка Ñ\82Ñ\8dкÑ\81Ñ\82Ñ\83:"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:118
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:119
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:116
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:117
 msgid "Import text as text"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\86мпаÑ\80Ñ\82аваÑ\86Ñ\8c Ñ\82Ñ\8dкÑ\81Ñ\82 Ñ\8fк Ñ\82Ñ\8dкÑ\81Ñ\82"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:122
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:120
 msgid "Embed images"
-msgstr ""
+msgstr "Убудаваць відарысы"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:125
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:123
 msgid "Import settings"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а"
+msgstr "Ð\86мпаÑ\80Ñ\82аваÑ\86Ñ\8c Ð½Ð°Ð»Ð°Ð´ÐºÑ\96"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:242
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:240
 msgid "PDF Import Settings"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а"
+msgstr "Ð\9dаладкÑ\96 Ñ\96мпаÑ\80Ñ\82аванÑ\8cнÑ\8f PDF"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:382
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:380
 msgid "pdfinput|medium"
-msgstr ""
+msgstr "сярэдняя"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:383
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:381
 msgid "fine"
-msgstr "Ð\97лÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c"
+msgstr "добÑ\80аÑ\8f"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:384
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:382
 msgid "very fine"
-msgstr "Выдаліць лучыва"
+msgstr "якасная"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:739
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:729
 msgid "PDF Input"
-msgstr "Увод"
+msgstr "Уводжаньне PDF"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:744
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:734
 msgid "Adobe PDF (*.pdf)"
-msgstr ""
+msgstr "Adobe PDF (*.pdf)"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:745
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:735
 msgid "Adobe Portable Document Format"
-msgstr ""
+msgstr "Пераносны фармат дакумэнта ад Adobe"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:752
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:742
 msgid "AI Input"
-msgstr "Увод"
+msgstr "Уводжаньне AI"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:757
-#, fuzzy
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:747
 msgid "Adobe Illustrator 9.0 and above (*.ai)"
-msgstr "Рэдактар вэктарнае графікі"
+msgstr "Adobe Illustrator 9.0 і пазьнейшы (*.ai)"
 
-#: ../src/extension/internal/pdfinput/pdf-input.cpp:758
+#: ../src/extension/internal/pdfinput/pdf-input.cpp:748
 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
+#: ../src/extension/internal/pov-out.cpp:683
 msgid "PovRay Output"
-msgstr ""
+msgstr "Выводжаньне PovRay"
 
-#: ../src/extension/internal/pov-out.cpp:671
+#: ../src/extension/internal/pov-out.cpp:688
 msgid "PovRay (*.pov) (export splines)"
-msgstr ""
+msgstr "PovRay (*.pov) (экспарт сплайнаў)"
 
-#: ../src/extension/internal/pov-out.cpp:672
+#: ../src/extension/internal/pov-out.cpp:689
+#, fuzzy
 msgid "PovRay Raytracer File"
-msgstr ""
+msgstr "_Дыялёг адкрыцьця файла"
 
-#: ../src/extension/internal/ps.cpp:147
-#, fuzzy
+#: ../src/extension/internal/ps.cpp:146
 msgid "Print Configuration"
-msgstr "Ð\94Ñ\80Ñ\83к"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ð´Ñ\80Ñ\83кÑ\83"
 
-#: ../src/extension/internal/ps.cpp:169
+#: ../src/extension/internal/ps.cpp:168
 msgid "Print using PostScript operators"
-msgstr "Дроукаваць карыстаючыся апэратарамі PostScript"
+msgstr "Друкаваць, карыстаючыся апэратарамі PostScript"
 
-#: ../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 ""
+#: ../src/extension/internal/ps.cpp:170
+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 "Выкарыстоўваць вэктраныя апэратары PostScript. Выніковы відарыс зазвычай мае меншы памер файла, і можна адвольна зьмяняць ягоны памер, але празрыстасьць і ўзоры будуць страчаныя."
 
-#: ../src/extension/internal/ps.cpp:1753
+#: ../src/extension/internal/ps.cpp:1752
 msgid "Postscript Print"
-msgstr ""
+msgstr "Друкаваньне PostScript"
 
 #: ../src/extension/internal/ps-out.cpp:82
 msgid "Postscript Output"
-msgstr ""
+msgstr "Выводжаньне Postscript"
 
 #: ../src/extension/internal/ps-out.cpp:89
 msgid "PostScript (*.ps)"
-msgstr ""
+msgstr "PostScript (*.ps)"
 
 #: ../src/extension/internal/svg.cpp:55
-#, fuzzy
 msgid "SVG Input"
-msgstr "Увод"
+msgstr "Уводжаньне SVG"
 
 #: ../src/extension/internal/svg.cpp:60
-#, fuzzy
 msgid "Scalable Vector Graphic (*.svg)"
-msgstr "Здольная маштабавацца вэктарная графіка (SVG)"
+msgstr "Scalable Vector Graphic (*.svg)"
 
 #: ../src/extension/internal/svg.cpp:61
-#, fuzzy
 msgid "Inkscape native file format and W3C standard"
-msgstr "УлаÑ\81нÑ\8b Ñ\84аÑ\80маÑ\82 Ñ\84айлаÑ\9e Sodipodi Ð¹ стандарт W3C"
+msgstr "РоднÑ\8b Ñ\84аÑ\80маÑ\82 Ñ\84айлаÑ\9e Inkscape Ñ\96 стандарт W3C"
 
 #: ../src/extension/internal/svg.cpp:69
+#, fuzzy
 msgid "SVG Output Inkscape"
-msgstr ""
+msgstr "Сьціснуты Inkscape SVG (*.svgz)"
 
 #: ../src/extension/internal/svg.cpp:74
 msgid "Inkscape SVG (*.svg)"
-msgstr ""
+msgstr "Inkscape SVG (*.svg)"
 
 #: ../src/extension/internal/svg.cpp:75
-#, fuzzy
 msgid "SVG format with Inkscape extensions"
-msgstr "Фармат здольнай маштабавацца вэктарнае графікі з пашырэньнямі sodipodi"
+msgstr "Фармат SVG з пашырэньнямі Inkscape"
 
 #: ../src/extension/internal/svg.cpp:83
-#: ../src/ui/dialog/inkscape-preferences.cpp:942
 msgid "SVG Output"
-msgstr ""
+msgstr "Выводжаньне SVG"
 
 #: ../src/extension/internal/svg.cpp:88
-#, fuzzy
 msgid "Plain SVG (*.svg)"
-msgstr "Ð\97вÑ\8bÑ\87айнÑ\8b SVG"
+msgstr "Ð\9fÑ\80оÑ\81Ñ\82Ñ\8b SVG (*.svg)"
 
 #: ../src/extension/internal/svg.cpp:89
-#, fuzzy
 msgid "Scalable Vector Graphics format as defined by the W3C"
-msgstr "Фармат здольнай маштабавацца вэктарнай графікі"
+msgstr "Фармат здольнай маштабавацца вэктарнай ґрафікі (SVG), апісаны W3C"
 
 #: ../src/extension/internal/svgz.cpp:47
 #: ../share/extensions/svgz_input.inx.h:3
-#, fuzzy
 msgid "SVGZ Input"
-msgstr "Увод"
+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 ""
+msgstr "Сьціснуты Inkscape SVG (*.svgz)"
 
 #: ../src/extension/internal/svgz.cpp:54
 msgid "SVG file format compressed with GZip"
-msgstr ""
+msgstr "Фармат SVG, сьціснуты з дапамогай GZip"
 
-#: ../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 ""
+msgstr "Выводжаньне SVGZ"
 
 #: ../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 ""
+msgstr "Родны фармат файлаў Inkscape, сьціснуты з дапамогай GZip"
 
 #: ../src/extension/internal/svgz.cpp:81
 msgid "Compressed plain SVG (*.svgz)"
-msgstr ""
+msgstr "Сьціснуты просты SVG (*.svgz)"
 
 #: ../src/extension/internal/svgz.cpp:82
-#, fuzzy
 msgid "Scalable Vector Graphics format compressed with GZip"
-msgstr "Фармат здольнай маштабавацца вэктарнай графікі"
+msgstr "Фармат SVG, сьціснуты з дапамогай GZip"
 
 #: ../src/extension/internal/win32.cpp:491
 msgid "Windows 32-bit Print"
-msgstr ""
+msgstr "32-бітавы друк Windows"
 
 #: ../src/extension/internal/wpg-input.cpp:102
-#, fuzzy
 msgid "WPG Input"
-msgstr "Увод"
+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 "ФаÑ\80маÑ\82 Ð·Ð´Ð¾Ð»Ñ\8cнай Ð¼Ð°Ñ\88Ñ\82абаваÑ\86Ñ\86а Ð²Ñ\8dкÑ\82аÑ\80най Ð³Ñ\80аÑ\84Ñ\96кÑ\96"
+msgstr "ФаÑ\80маÑ\82 Ð²Ñ\8dкÑ\82аÑ\80най Ò\91Ñ\80аÑ\84Ñ\96кÑ\96, Ñ\8fкÑ\96 Ð²Ñ\8bкаÑ\80Ñ\8bÑ\81Ñ\82оÑ\9eваеÑ\86Ñ\86а Ñ\9e Corel WordPerfect"
 
-#: ../src/extension/prefdialog.cpp:237
-#, fuzzy
+#: ../src/extension/prefdialog.cpp:191
 msgid "Live Preview"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\96 Ð¿Ñ\80агляд"
+msgstr "Ð\96Ñ\8bвÑ\8b агляд"
 
-#: ../src/extension/prefdialog.cpp:237
+#: ../src/extension/prefdialog.cpp:191
 msgid "Controls whether the effect settings are rendered live on canvas"
-msgstr ""
+msgstr "Кантралюе, ці будуць наладкі эфэкта рысавацца «ўжывую» на палатне"
 
 #. 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
+#: ../src/extension/system.cpp:102
 msgid "Format autodetect failed. The file is being opened as SVG."
-msgstr ""
+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
 #. 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
-#, fuzzy
+#: ../src/file.cpp:136
 msgid "default.svg"
-msgstr "Дапомнае"
+msgstr "default.be.svg"
 
-#: ../src/file.cpp:225 ../src/file.cpp:993
+#: ../src/file.cpp:222
+#: ../src/file.cpp:962
 #, c-format
 msgid "Failed to load the requested file %s"
-msgstr ""
+msgstr "Не ўдалося загрузіць запатрабаваны файл %s"
 
-#: ../src/file.cpp:250
+#: ../src/file.cpp:247
 msgid "Document not saved yet.  Cannot revert."
-msgstr ""
+msgstr "Дакумэнт пакуль не захаваны. Немагчыма вернуць."
 
-#: ../src/file.cpp:256
+#: ../src/file.cpp:253
 #, c-format
 msgid "Changes will be lost!  Are you sure you want to reload document %s?"
-msgstr ""
+msgstr "Зьмены будуць страчаныя! Ці сапраўды жадаеш ізноў загрузіць дакумэнт %s?"
 
-#: ../src/file.cpp:285
-#, fuzzy
+#: ../src/file.cpp:282
 msgid "Document reverted."
-msgstr "Ð\92аÑ\80Ñ\8bÑ\8fнÑ\82 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а:"
+msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð²ÐµÑ\80нÑ\83Ñ\82Ñ\8b."
 
-#: ../src/file.cpp:287
-#, fuzzy
+#: ../src/file.cpp:284
 msgid "Document not reverted."
-msgstr "Дакумэнт ня вылучаны"
+msgstr "Дакумэнт ня вернуты."
 
-#: ../src/file.cpp:437
+#: ../src/file.cpp:406
 msgid "Select file to open"
-msgstr "Выбярыце файл для адкрыцьця"
+msgstr "Выберы, які файл адкрыць"
 
-#: ../src/file.cpp:524
+#: ../src/file.cpp:484
 msgid "Vacuum &lt;defs&gt;"
-msgstr ""
+msgstr "Ачысьціць &lt;defs&gt;"
 
-#: ../src/file.cpp:529
+#: ../src/file.cpp:489
 #, c-format
 msgid "Removed <b>%i</b> unused definition in &lt;defs&gt;."
 msgid_plural "Removed <b>%i</b> unused definitions in &lt;defs&gt;."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Выдалена <b>%i</b> нявыкарыстанае азначэньне ў &lt;defs&gt;."
+msgstr[1] "Выдалена <b>%i</b> нявыкарыстаныя азначэньні ў &lt;defs&gt;."
+msgstr[2] "Выдалена <b>%i</b> нявыкарыстаных азначэньняў ў &lt;defs&gt;."
 
-#: ../src/file.cpp:534
+#: ../src/file.cpp:494
 msgid "No unused definitions in &lt;defs&gt;."
-msgstr ""
+msgstr "&lt;defs&gt; ня мае нявыкарыстаных азначэньняў."
 
-#: ../src/file.cpp:563
+#: ../src/file.cpp:523
 #, 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 "Не адшуканы пашыральнік Inkscape для захоўваньня дакумэнта (%s). Магчыма, назва файла мае невядомае пашырэньне."
 
-#: ../src/file.cpp:564 ../src/file.cpp:572
-#, fuzzy
+#: ../src/file.cpp:524
+#: ../src/file.cpp:532
 msgid "Document not saved."
-msgstr "Ð\9dазва Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а:"
+msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð½Ðµ Ð·Ð°Ñ\85аванÑ\8b."
 
-#: ../src/file.cpp:571
+#: ../src/file.cpp:531
 #, c-format
 msgid "File %s could not be saved."
-msgstr ""
+msgstr "Немагчыма захаваць файл %s."
 
-#: ../src/file.cpp:582
-#, fuzzy
+#: ../src/file.cpp:542
 msgid "Document saved."
-msgstr "Ð\9dазва Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а:"
+msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð·Ð°Ñ\85аванÑ\8b."
 
-#: ../src/file.cpp:721 ../src/file.cpp:1118 ../src/file.cpp:1235
-#, fuzzy, c-format
+#: ../src/file.cpp:681
+#: ../src/file.cpp:1087
+#: ../src/file.cpp:1203
+#, c-format
 msgid "drawing%s"
-msgstr "Рысаваньне"
+msgstr "рысунак%s"
 
-#: ../src/file.cpp:727
-#, fuzzy, c-format
+#: ../src/file.cpp:687
+#, c-format
 msgid "drawing-%d%s"
-msgstr "Рысаваньне"
+msgstr "рысунак-%d%s"
 
-#: ../src/file.cpp:746
-#, fuzzy
+#: ../src/file.cpp:706
 msgid "Select file to save a copy to"
-msgstr "Выбярыце файл для адкрыцьця"
+msgstr "Выберы файл, у які захаваць копію"
 
-#: ../src/file.cpp:748
-#, fuzzy
+#: ../src/file.cpp:708
+#: ../src/file.cpp:715
 msgid "Select file to save to"
-msgstr "Выбярыце файл для адкрыцьця"
+msgstr "Выберы файл, у які захаваць"
 
-#: ../src/file.cpp:819
+#: ../src/file.cpp:787
 msgid "No changes need to be saved."
-msgstr ""
+msgstr "Няма зьменаў, якія трэба захаваць."
 
-#: ../src/file.cpp:836
-#, fuzzy
+#: ../src/file.cpp:804
 msgid "Saving document..."
-msgstr "Ð\97аÑ\85оÑ\9eвае Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82"
+msgstr "Ð\97аÑ\85оÑ\9eванÑ\8cне Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82аâ\80¦"
 
-#: ../src/file.cpp:990
-#, fuzzy
+#: ../src/file.cpp:959
 msgid "Import"
 msgstr "Імпартаваць"
 
-#: ../src/file.cpp:1022
+#: ../src/file.cpp:991
 msgid "Select file to import"
-msgstr "Выбярыце файл для імпартаваньня"
+msgstr "Выберы, які файл імпартаваць"
 
-#: ../src/file.cpp:1140 ../src/file.cpp:1250
-#, fuzzy
+#: ../src/file.cpp:1109
+#: ../src/file.cpp:1218
 msgid "Select file to export to"
-msgstr "Выбярыце файл для імпартаваньня"
+msgstr "Выберы, у які файл экспартаваць"
 
-#: ../src/file.cpp:1277
+#: ../src/file.cpp:1245
+#, c-format
 msgid "Error saving a temporary copy"
-msgstr ""
+msgstr "Памылка захоўваньня часовай копіі"
 
-#: ../src/file.cpp:1296
+#: ../src/file.cpp:1264
 msgid "Open Clip Art Login"
-msgstr ""
+msgstr "Імя ў Адкрытай бібліятэцы відарысаў"
 
-#: ../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 ""
+#: ../src/file.cpp:1285
+#, c-format
+msgid "Error exporting the document. Verify if the server name, username and password are correct. If the server have support for webdav and verify if you didn't forget to choose a license too."
+msgstr "Памылка пад час экспартаваньня дакумэнта. Правер назву паслужніка, імя карыстальніка й пароль. Правер, ці мае паслужні падтрымку webdav, і ці выбрана ліцэнзія."
 
-#: ../src/file.cpp:1338
-#, fuzzy
+#: ../src/file.cpp:1306
 msgid "Document exported..."
-msgstr "Ð\92аÑ\80Ñ\8bÑ\8fнÑ\82 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а:"
+msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ñ\8dкÑ\81паÑ\80Ñ\82аванÑ\8bâ\80¦"
 
-#: ../src/file.cpp:1366 ../src/verbs.cpp:2182
+#: ../src/file.cpp:1334
+#: ../src/verbs.cpp:2151
 msgid "Import From Open Clip Art Library"
-msgstr ""
+msgstr "Імпартаваць з Адкрытай бібліятэкі відарысаў"
 
 #: ../src/filter-enums.cpp:20
-#, fuzzy
 msgid "Blend"
-msgstr "СÑ\96нÑ\96:"
+msgstr "Ð\97Ñ\8cмеÑ\88ванÑ\8cне"
 
 #: ../src/filter-enums.cpp:21
-#, fuzzy
 msgid "Color Matrix"
-msgstr "ФаÑ\80баваÑ\86Ñ\8c"
+msgstr "Ð\9cаÑ\82Ñ\80Ñ\8bÑ\86а ÐºÐ¾Ð»ÐµÑ\80аÑ\9e"
 
 #: ../src/filter-enums.cpp:22
+#, fuzzy
 msgid "Component Transfer"
-msgstr ""
+msgstr "Памылка перасылкі"
 
 #: ../src/filter-enums.cpp:23
-#, fuzzy
 msgid "Composite"
-msgstr "Ð\9aамбÑ\96наваÑ\86Ñ\8c"
+msgstr "СкладанÑ\8cне"
 
 #: ../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:52
 msgid "Image"
 msgstr "Відарыс"
 
 #: ../src/filter-enums.cpp:30
-#, fuzzy
 msgid "Merge"
-msgstr "Ð\9cÑ\8dÑ\82а:"
+msgstr "Ð\90бʼÑ\8fднаÑ\86Ñ\8c"
 
 #: ../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 "Ð\9dазва:"
+msgstr "Ð\9cазаÑ\96ка"
 
-#: ../src/filter-enums.cpp:35 ../src/filter-enums.cpp:118
-#, fuzzy
+#: ../src/filter-enums.cpp:35
+#: ../src/filter-enums.cpp:118
 msgid "Turbulence"
-msgstr "ТÑ\80аÑ\81Ñ\8bÑ\80аваÑ\86Ñ\8c"
+msgstr "ТÑ\83Ñ\80бÑ\83ленÑ\86Ñ\8bÑ\8f"
 
 #: ../src/filter-enums.cpp:40
 msgid "Source Graphic"
-msgstr ""
+msgstr "Выточная ґрафіка"
 
 #: ../src/filter-enums.cpp:41
 msgid "Source Alpha"
-msgstr ""
+msgstr "Выточная празрыстасьць"
 
 #: ../src/filter-enums.cpp:42
-#, fuzzy
 msgid "Background Image"
-msgstr "Ð\9aанÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\92Ñ\96даÑ\80Ñ\8bÑ\81 Ð°Ñ\81новедзÑ\96"
 
 #: ../src/filter-enums.cpp:43
-#, fuzzy
 msgid "Background Alpha"
-msgstr "Ð\9aанÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\9fÑ\80азÑ\80Ñ\8bÑ\81Ñ\82аÑ\81Ñ\8cÑ\86Ñ\8c Ð°Ñ\81новедзÑ\96"
 
 #: ../src/filter-enums.cpp:44
-#, fuzzy
 msgid "Fill Paint"
-msgstr "Ð\94Ñ\80Ñ\83каваÑ\86Ñ\8c"
+msgstr "РÑ\8bÑ\81аванÑ\8cне Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cнÑ\8f"
 
 #: ../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
-#, fuzzy
 msgid "Multiply"
-msgstr "ШмаÑ\82лÑ\96кÑ\96Ñ\8f Ñ\81Ñ\82Ñ\8bлÑ\96"
+msgstr "Ð\9cножанÑ\8cне"
 
 #: ../src/filter-enums.cpp:54
-#, fuzzy
 msgid "Screen"
-msgstr "Ð\97Ñ\8fлÑ\91нÑ\8b:"
+msgstr "ЭкÑ\80ан"
 
 #: ../src/filter-enums.cpp:55
-#, fuzzy
 msgid "Darken"
-msgstr "Ð\9fÑ\96пеÑ\82ка"
+msgstr "Ð\97аÑ\86Ñ\8fмнÑ\96Ñ\86Ñ\8c"
 
 #: ../src/filter-enums.cpp:56
-#, fuzzy
 msgid "Lighten"
-msgstr "Ð\92Ñ\8bÑ\88Ñ\8bнÑ\8f:"
+msgstr "Ð\90Ñ\81Ñ\8cвеÑ\82лÑ\96Ñ\86Ñ\8c"
 
 #: ../src/filter-enums.cpp:62
 msgid "Matrix"
-msgstr ""
+msgstr "Матрыца"
 
 #: ../src/filter-enums.cpp:63
-#, fuzzy
 msgid "Saturate"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "Ð\9dаÑ\81Ñ\8bÑ\86Ñ\96Ñ\86Ñ\8c"
 
 #: ../src/filter-enums.cpp:64
-#, fuzzy
 msgid "Hue Rotate"
-msgstr "Павярнуць"
+msgstr "Паварот адценьня"
 
 #: ../src/filter-enums.cpp:65
 msgid "Luminance to Alpha"
-msgstr ""
+msgstr "Сьветласьць у празрыстасьць"
 
 #. File
-#: ../src/filter-enums.cpp:71 ../src/verbs.cpp:2159
-#, fuzzy
+#: ../src/filter-enums.cpp:71
+#: ../src/verbs.cpp:2128
 msgid "Default"
-msgstr "Ð\94апомнае"
+msgstr "Ð\9fÑ\80адвÑ\8bзнаÑ\87анÑ\8b"
 
 #: ../src/filter-enums.cpp:72
-#, fuzzy
 msgid "Over"
-msgstr "Ð\9cÑ\8dÑ\82аÑ\80"
+msgstr "Ð\9fа-над"
 
 #: ../src/filter-enums.cpp:73
 msgid "In"
-msgstr "+"
+msgstr "У"
 
 #: ../src/filter-enums.cpp:74
-#, fuzzy
 msgid "Out"
-msgstr "-"
+msgstr "Вонкі"
 
 #: ../src/filter-enums.cpp:75
 msgid "Atop"
-msgstr ""
+msgstr "Наверсе"
 
 #: ../src/filter-enums.cpp:76
 msgid "XOR"
-msgstr ""
+msgstr "Выключнае «або»"
 
 #: ../src/filter-enums.cpp:77
 msgid "Arithmetic"
-msgstr ""
+msgstr "Арытмэтычны"
 
 #: ../src/filter-enums.cpp:83
-#, fuzzy
 msgid "Identity"
-msgstr "СанÑ\86Ñ\96мÑ\8dÑ\82аÑ\80"
+msgstr "ТоеÑ\81наÑ\81Ñ\8cÑ\86Ñ\8c"
 
 #: ../src/filter-enums.cpp:84
-#, fuzzy
 msgid "Table"
-msgstr "Ð\9dазва:"
+msgstr "ТаблÑ\96Ñ\86а"
 
 #: ../src/filter-enums.cpp:85
-#, fuzzy
 msgid "Discrete"
-msgstr "Ð\9fÑ\80адаÑ\81Ñ\82аÑ\9eленÑ\8cне"
+msgstr "Ð\94Ñ\8bÑ\81кÑ\80Ñ\8dÑ\82нÑ\8b"
 
 #: ../src/filter-enums.cpp:86
-#, fuzzy
 msgid "Linear"
-msgstr "Ð\97лÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9bÑ\96нейнÑ\8b"
 
 #: ../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:301
 #: ../src/widgets/gradient-selector.cpp:134
 msgid "Duplicate"
 msgstr "Падвоіць"
 
 #: ../src/filter-enums.cpp:94
+#: ../src/ui/widget/panel.cpp:161
 msgid "Wrap"
-msgstr ""
+msgstr "Загарнуць"
 
-#: ../src/filter-enums.cpp:101 ../src/flood-context.cpp:271
+#: ../src/filter-enums.cpp:101
+#: ../src/flood-context.cpp:250
 #: ../src/widgets/sp-color-icc-selector.cpp:233
 #: ../src/widgets/sp-color-scales.cpp:398
 #: ../src/widgets/sp-color-scales.cpp:399
-#, fuzzy
 msgid "Red"
-msgstr "Чырвоны:"
+msgstr "Чырвоны"
 
-#: ../src/filter-enums.cpp:102 ../src/flood-context.cpp:272
+#: ../src/filter-enums.cpp:102
+#: ../src/flood-context.cpp:251
 #: ../src/widgets/sp-color-icc-selector.cpp:233
 #: ../src/widgets/sp-color-scales.cpp:401
 #: ../src/widgets/sp-color-scales.cpp:402
-#, fuzzy
 msgid "Green"
-msgstr "Зялёны:"
+msgstr "Зялёны"
 
-#: ../src/filter-enums.cpp:103 ../src/flood-context.cpp:273
+#: ../src/filter-enums.cpp:103
+#: ../src/flood-context.cpp:252
 #: ../src/widgets/sp-color-icc-selector.cpp:233
 #: ../src/widgets/sp-color-scales.cpp:404
 #: ../src/widgets/sp-color-scales.cpp:405
-#, fuzzy
 msgid "Blue"
-msgstr "Сіні:"
+msgstr "Сіні"
 
-#: ../src/filter-enums.cpp:104 ../src/flood-context.cpp:277
-#, fuzzy
+#: ../src/filter-enums.cpp:104
+#: ../src/flood-context.cpp:256
 msgid "Alpha"
-msgstr "Альфа:"
+msgstr "Альфа"
 
 #: ../src/filter-enums.cpp:110
-#, fuzzy
 msgid "Erode"
-msgstr "Ð\92Ñ\83зел"
+msgstr "РазÑ\8cеÑ\81Ñ\8cÑ\86Ñ\96"
 
 #: ../src/filter-enums.cpp:111
-#, fuzzy
 msgid "Dilate"
-msgstr "УÑ\81Ñ\82авÑ\96ць"
+msgstr "Ð\9fаÑ\88Ñ\8bÑ\80Ñ\8bць"
 
 #: ../src/filter-enums.cpp:117
 msgid "Fractal Noise"
-msgstr ""
+msgstr "Фрактальны шум"
 
 #: ../src/filter-enums.cpp:124
 msgid "Distant Light"
-msgstr ""
+msgstr "Далёкае сьвятло"
 
 #: ../src/filter-enums.cpp:125
-#, fuzzy
 msgid "Point Light"
-msgstr "РаÑ\9eнанÑ\8cне"
+msgstr "Ð\9aÑ\80опкавае Ñ\81Ñ\8cвÑ\8fÑ\82ло"
 
 #: ../src/filter-enums.cpp:126
 msgid "Spot Light"
-msgstr ""
+msgstr "Сьветлавая пляма"
 
-#: ../src/flood-context.cpp:270
-#, fuzzy
+#: ../src/flood-context.cpp:249
 msgid "Visible Colors"
-msgstr "Бачны"
+msgstr "Бачныя колеры"
 
-#: ../src/flood-context.cpp:276 ../src/widgets/sp-color-icc-selector.cpp:236
+#: ../src/flood-context.cpp:255
+#: ../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:3172
 #: ../share/extensions/color_randomize.inx.h:3
 msgid "Lightness"
-msgstr ""
+msgstr "Сьветласьць"
 
-#: ../src/flood-context.cpp:289 ../src/ui/dialog/inkscape-preferences.cpp:968
-#, fuzzy
+#: ../src/flood-context.cpp:265
 msgid "Small"
-msgstr "Маштаб"
+msgstr "Малы"
 
-#: ../src/flood-context.cpp:290 ../src/ui/dialog/inkscape-preferences.cpp:968
+#: ../src/flood-context.cpp:266
 msgid "Medium"
-msgstr ""
+msgstr "Сярэдні"
 
-#: ../src/flood-context.cpp:291
-#, fuzzy
+#: ../src/flood-context.cpp:267
 msgid "Large"
-msgstr "Ð\9cÑ\8dÑ\82а:"
+msgstr "Ð\92Ñ\8fлÑ\96кÑ\96"
 
-#: ../src/flood-context.cpp:491
+#: ../src/flood-context.cpp:421
 msgid "<b>Too much inset</b>, the result is empty."
-msgstr ""
+msgstr "<b>Заднадта сьціснута</b>, вынік пусты."
 
-#: ../src/flood-context.cpp:531
+#: ../src/flood-context.cpp:461
 #, c-format
-msgid ""
-"Area filled, path with <b>%d</b> node created and unioned with selection."
-msgid_plural ""
-"Area filled, path with <b>%d</b> nodes created and unioned with selection."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgid "Area filled, path with <b>%d</b> node created and unioned with selection."
+msgid_plural "Area filled, path with <b>%d</b> nodes created and unioned with selection."
+msgstr[0] "Вобласьць запоўнена, шлях з <b>%d</b> вузлом створаны й абʼяднаны з вылучэньнем."
+msgstr[1] "Вобласьць запоўнена, шлях з <b>%d</b> вузламі створаны й абʼяднаны з вылучэньнем."
+msgstr[2] "Вобласьць запоўнена, шлях з <b>%d</b> вузламі створаны й абʼяднаны з вылучэньнем."
 
-#: ../src/flood-context.cpp:535
+#: ../src/flood-context.cpp:465
 #, c-format
 msgid "Area filled, path with <b>%d</b> node created."
 msgid_plural "Area filled, path with <b>%d</b> nodes created."
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Вобласьць запоўнена, шлях з <b>%d</b> вузлом."
+msgstr[1] "Вобласьць запоўнена, шлях з <b>%d</b> вузламі."
+msgstr[2] "Вобласьць запоўнена, шлях з <b>%d</b> вузламі створаны."
 
-#: ../src/flood-context.cpp:807 ../src/flood-context.cpp:1121
+#: ../src/flood-context.cpp:681
+#: ../src/flood-context.cpp:976
 msgid "<b>Area is not bounded</b>, cannot fill."
-msgstr ""
+msgstr "<b>Вобласьць не абмежаваная</b>, немагчыма запоўніць."
 
-#: ../src/flood-context.cpp:1126
-msgid ""
-"<b>Only the visible part of the bounded area was filled.</b> If you want to "
-"fill all of the area, undo, zoom out, and fill again."
-msgstr ""
+#: ../src/flood-context.cpp:981
+msgid "<b>Only the visible part of the bounded area was filled.</b> If you want to fill all of the area, undo, zoom out, and fill again."
+msgstr "<b>Была запоўненая толькі бачная частка абмежаванай вобласьці.</b> Калі жадаеш запоўніць усю вобласьць, адмяні, аддаль і запоўні наноў."
 
-#: ../src/flood-context.cpp:1144 ../src/flood-context.cpp:1304
-#, fuzzy
+#: ../src/flood-context.cpp:997
+#: ../src/flood-context.cpp:1157
 msgid "Fill bounded area"
-msgstr "Ð\97апаÑ\9eненÑ\8cне Ð¹ Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eка"
+msgstr "Ð\97апоÑ\9eнÑ\96Ñ\86Ñ\8c Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ñ\83Ñ\8e Ð²Ð¾Ð±Ð»Ð°Ñ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/flood-context.cpp:1164
-#, fuzzy
+#: ../src/flood-context.cpp:1017
 msgid "Set style on object"
-msgstr "РаÑ\9eнае Ð°Ð±'екÑ\82"
+msgstr "Ð\97адаÑ\86Ñ\8c Ñ\81Ñ\82Ñ\8bлÑ\8c Ð°Ð±Ê¼ÐµÐºÑ\82а"
 
-#: ../src/flood-context.cpp:1223
+#: ../src/flood-context.cpp:1076
 msgid "<b>Draw over</b> areas to add to fill, hold <b>Alt</b> for touch fill"
 msgstr ""
 
-#: ../src/gradient-context.cpp:132 ../src/gradient-drag.cpp:74
-#, fuzzy
+#: ../src/gradient-context.cpp:132
+#: ../src/gradient-drag.cpp:75
 msgid "Linear gradient <b>start</b>"
-msgstr "Лінэйны градыент"
+msgstr "<b>Пачатак</b> лінейнага ґрадыента"
 
 #. POINT_LG_BEGIN
-#: ../src/gradient-context.cpp:133 ../src/gradient-drag.cpp:75
-#, fuzzy
+#: ../src/gradient-context.cpp:133
+#: ../src/gradient-drag.cpp:76
 msgid "Linear gradient <b>end</b>"
-msgstr "Лінэйны градыент"
+msgstr "<b>Канец</b> лінейнага ґрадыента"
 
-#: ../src/gradient-context.cpp:134 ../src/gradient-drag.cpp:76
+#: ../src/gradient-context.cpp:134
+#: ../src/gradient-drag.cpp:77
 #, fuzzy
 msgid "Linear gradient <b>mid stop</b>"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð·Ñ\80Ñ\83Ñ\85 Ð¿Ñ\83нкÑ\82а Ò\91Ñ\80адÑ\8bенÑ\82а"
 
-#: ../src/gradient-context.cpp:135 ../src/gradient-drag.cpp:77
-#, fuzzy
+#: ../src/gradient-context.cpp:135
+#: ../src/gradient-drag.cpp:78
 msgid "Radial gradient <b>center</b>"
-msgstr "Кругавы градыент"
+msgstr "<b>Цэнтар</b> радыяльнага ґрадыента"
 
-#: ../src/gradient-context.cpp:136 ../src/gradient-context.cpp:137
-#: ../src/gradient-drag.cpp:78 ../src/gradient-drag.cpp:79
-#, fuzzy
+#: ../src/gradient-context.cpp:136
+#: ../src/gradient-context.cpp:137
+#: ../src/gradient-drag.cpp:79
+#: ../src/gradient-drag.cpp:80
 msgid "Radial gradient <b>radius</b>"
-msgstr "Кругавы градыент"
+msgstr "<b>Радыюс</b> радыяльнага ґрадыента"
 
-#: ../src/gradient-context.cpp:138 ../src/gradient-drag.cpp:80
-#, fuzzy
+#: ../src/gradient-context.cpp:138
+#: ../src/gradient-drag.cpp:81
 msgid "Radial gradient <b>focus</b>"
-msgstr "Кругавы градыент"
+msgstr "<b>Фокус</b> радыяльнага ґрадыента"
 
 #. POINT_RG_FOCUS
-#: ../src/gradient-context.cpp:139 ../src/gradient-context.cpp:140
-#: ../src/gradient-drag.cpp:81 ../src/gradient-drag.cpp:82
+#: ../src/gradient-context.cpp:139
+#: ../src/gradient-context.cpp:140
+#: ../src/gradient-drag.cpp:82
+#: ../src/gradient-drag.cpp:83
 #, fuzzy
 msgid "Radial gradient <b>mid stop</b>"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð·Ñ\80Ñ\83Ñ\85 Ð¿Ñ\83нкÑ\82а Ò\91Ñ\80адÑ\8bенÑ\82а"
 
 #. 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
+#, 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
+#: ../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] "Ð\93Ñ\80адÑ\8bенÑ\82 Ð½Ðµ Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
-msgstr[1] "Градыент не вылучаны"
-msgstr[2] "Градыент не вылучаны"
+msgstr[0] "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ñ\80Ñ\83Ñ\87кÑ\83 Ò\91Ñ\80адÑ\8bенÑ\82а"
+msgstr[1] "Ґрадыент не вылучаны"
+msgstr[2] "Ґрадыент не вылучаны"
 
 #. 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: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] "Ð\9fадвойвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
-msgstr[1] "Падвойвае вылучаныя аб'екты"
-msgstr[2] "Падвойвае вылучаныя аб'екты"
+msgstr[0] "УзÑ\8cнÑ\8fÑ\86Ñ\8c Ð²Ñ\8bбÑ\80анÑ\8b Ð°Ð±'екÑ\82"
+msgstr[1] "Падвойвае вылучаныя абʼекты"
+msgstr[2] "Падвойвае вылучаныя абʼекты"
 
 #. 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 <b>Shift</b> to separate) selected"
-msgid_plural ""
-"One handle merging %d stops (drag with <b>Shift</b> to separate) selected"
+msgid "One handle merging %d stop (drag with <b>Shift</b> to separate) selected"
+msgid_plural "One handle merging %d stops (drag with <b>Shift</b> to separate) selected"
 msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
@@ -4840,129 +4275,119 @@ msgstr[2] ""
 #: ../src/gradient-context.cpp:186
 #, c-format
 msgid "<b>No</b> gradient handles selected out of %d on %d selected object"
-msgid_plural ""
-"<b>No</b> gradient handles selected out of %d on %d selected objects"
+msgid_plural "<b>No</b> gradient handles selected out of %d on %d selected objects"
 msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../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
 #, fuzzy
 msgid "Add gradient stop"
-msgstr "Ð\9aÑ\80Ñ\83гавÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð·Ñ\80Ñ\83Ñ\85 Ð¿Ñ\83нкÑ\82а Ò\91Ñ\80адÑ\8bенÑ\82а"
 
 #: ../src/gradient-context.cpp:453
-#, fuzzy
 msgid "Simplify gradient"
-msgstr "Ð\9aÑ\80Ñ\83гавÑ\8b Ð³радыент"
+msgstr "СпÑ\80оÑ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ò\91радыент"
 
 #: ../src/gradient-context.cpp:529
-#, fuzzy
 msgid "Create default gradient"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³радыент"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ñ\80адвÑ\8bзнаÑ\87анÑ\8b Ò\91радыент"
 
-#: ../src/gradient-context.cpp:584
+#: ../src/gradient-context.cpp:582
 msgid "<b>Draw around</b> handles to select them"
-msgstr ""
+msgstr "<b>Абрысуй</b> ручкі, каб вылучыць іх"
 
-#: ../src/gradient-context.cpp:682
+#: ../src/gradient-context.cpp:680
 msgid "<b>Ctrl</b>: snap gradient angle"
-msgstr ""
+msgstr "<b>Ctrl</b>: абмежаваць вугал ґрадыента"
 
-#: ../src/gradient-context.cpp:683
+#: ../src/gradient-context.cpp:681
 msgid "<b>Shift</b>: draw gradient around the starting point"
-msgstr ""
+msgstr "<b>Shift</b>: рысаваць градыент вакол пачатковага пункту"
 
-#: ../src/gradient-context.cpp:803
-#, fuzzy
+#: ../src/gradient-context.cpp:801
 msgid "Invert gradient"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³радыент"
+msgstr "Ð\86нвÑ\8dÑ\80Ñ\82аваÑ\86Ñ\8c Ò\91радыент"
 
-#: ../src/gradient-context.cpp:919
+#: ../src/gradient-context.cpp:917
 #, c-format
 msgid "<b>Gradient</b> for %d object; with <b>Ctrl</b> to snap angle"
 msgid_plural "<b>Gradient</b> for %d objects; with <b>Ctrl</b> to snap angle"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../src/gradient-context.cpp:923
+#: ../src/gradient-context.cpp:921
 msgid "Select <b>objects</b> on which to create gradient."
-msgstr ""
+msgstr "Вылучы <b>абʼекты</b>, на якіх стварыць ґрадыент."
 
-#: ../src/gradient-drag.cpp:573
-#, fuzzy
+#: ../src/gradient-drag.cpp:597
 msgid "Merge gradient handles"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "Ð\90бʼÑ\8fднаÑ\86Ñ\8c _Ñ\80Ñ\83Ñ\87кÑ\96 Ò\91Ñ\80адÑ\8bенÑ\82а"
 
-#: ../src/gradient-drag.cpp:895
-#, fuzzy
+#: ../src/gradient-drag.cpp:906
 msgid "Move gradient handle"
-msgstr "Ð\93Ñ\80адÑ\8bенÑ\82 Ð½Ðµ Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ñ\80Ñ\83Ñ\87кÑ\83 Ò\91Ñ\80адÑ\8bенÑ\82а"
 
-#: ../src/gradient-drag.cpp:948 ../src/widgets/gradient-vector.cpp:767
+#: ../src/gradient-drag.cpp:959
+#: ../src/widgets/gradient-vector.cpp:767
 #, fuzzy
 msgid "Delete gradient stop"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð³Ñ\80адÑ\8bенÑ\82нÑ\83Ñ\8e Ñ\9eÑ\81пÑ\8bÑ\88кÑ\83"
 
-#: ../src/gradient-drag.cpp:1112
+#: ../src/gradient-drag.cpp:1123
 #, c-format
-msgid ""
-"%s %d for: %s%s; drag with <b>Ctrl</b> to snap offset; click with <b>Ctrl"
-"+Alt</b> to delete stop"
+msgid "%s %d for: %s%s; drag with <b>Ctrl</b> to snap offset; click with <b>Ctrl+Alt</b> to delete stop"
 msgstr ""
 
-#: ../src/gradient-drag.cpp:1116 ../src/gradient-drag.cpp:1123
+#: ../src/gradient-drag.cpp:1127
+#: ../src/gradient-drag.cpp:1134
 msgid " (stroke)"
-msgstr ""
+msgstr " (контур)"
 
-#: ../src/gradient-drag.cpp:1120
+#: ../src/gradient-drag.cpp:1131
 #, c-format
-msgid ""
-"%s for: %s%s; drag with <b>Ctrl</b> to snap angle, with <b>Ctrl+Alt</b> to "
-"preserve angle, with <b>Ctrl+Shift</b> to scale around center"
+msgid "%s for: %s%s; drag with <b>Ctrl</b> to snap angle, with <b>Ctrl+Alt</b> to preserve angle, with <b>Ctrl+Shift</b> to scale around center"
 msgstr ""
 
-#: ../src/gradient-drag.cpp:1128
-msgid ""
-"Radial gradient <b>center</b> and <b>focus</b>; drag with <b>Shift</b> to "
-"separate focus"
+#: ../src/gradient-drag.cpp:1139
+#, c-format
+msgid "Radial gradient <b>center</b> and <b>focus</b>; drag with <b>Shift</b> to separate focus"
 msgstr ""
 
-#: ../src/gradient-drag.cpp:1131
+#: ../src/gradient-drag.cpp:1142
 #, c-format
-msgid ""
-"Gradient point shared by <b>%d</b> gradient; drag with <b>Shift</b> to "
-"separate"
-msgid_plural ""
-"Gradient point shared by <b>%d</b> gradients; drag with <b>Shift</b> to "
-"separate"
-msgstr[0] ""
-msgstr[1] ""
+msgid "Gradient point shared by <b>%d</b> gradient; drag with <b>Shift</b> to separate"
+msgid_plural "Gradient point shared by <b>%d</b> gradients; drag with <b>Shift</b> to separate"
+msgstr[0] "Ґрадыентны пункт агульны для <b>%d</b> ґрадыента; пацягні з <b>Shift</b>, каб адасобіць"
+msgstr[1] "Ґрадыентны пункт агульны для <b>%d</b> ґрадыентаў; пацягні з <b>Shift</b>, каб адасобіць"
+msgstr[2] "Ґрадыентны пункт агульны для <b>%d</b> ґрадыентаў; пацягні з <b>Shift</b>, каб адасобіць"
 
-#: ../src/gradient-drag.cpp:1806
-#, fuzzy
+#: ../src/gradient-drag.cpp:1817
 msgid "Move gradient handle(s)"
-msgstr "Ð\93Ñ\80адÑ\8bенÑ\82 Ð½Ðµ Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ñ\80Ñ\83Ñ\87кÑ\96 Ò\91Ñ\80адÑ\8bенÑ\82а"
 
-#: ../src/gradient-drag.cpp:1842
+#: ../src/gradient-drag.cpp:1853
 #, fuzzy
 msgid "Move gradient mid stop(s)"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð·Ñ\80Ñ\83Ñ\85 Ð¿Ñ\83нкÑ\82а Ò\91Ñ\80адÑ\8bенÑ\82а"
 
-#: ../src/gradient-drag.cpp:2130
+#: ../src/gradient-drag.cpp:2141
 #, fuzzy
 msgid "Delete gradient stop(s)"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð³Ñ\80адÑ\8bенÑ\82нÑ\83Ñ\8e Ñ\9eÑ\81пÑ\8bÑ\88кÑ\83"
 
 #: ../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/widgets/toolbox.cpp:5758
+#: ../src/helper/units.cpp:37
+#: ../src/widgets/select-toolbar.cpp:469
+#: ../src/widgets/toolbox.cpp:1146
+#: ../src/widgets/toolbox.cpp:2310
+#: ../src/widgets/toolbox.cpp:5314
 msgid "Units"
 msgstr "Адзінкі"
 
@@ -4970,11 +4395,13 @@ 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:283
 msgid "pt"
 msgstr "pt"
 
-#: ../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 "Пункты"
 
@@ -4984,31 +4411,31 @@ msgstr "Pt"
 
 #: ../src/helper/units.cpp:39
 msgid "Pica"
-msgstr ""
+msgstr "Цыцэра"
 
 #: ../src/helper/units.cpp:39
 msgid "pc"
-msgstr ""
+msgstr "pc"
 
 #: ../src/helper/units.cpp:39
-#, fuzzy
 msgid "Picas"
-msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c"
+msgstr "ЦÑ\8bÑ\86Ñ\8dÑ\80а"
 
 #: ../src/helper/units.cpp:39
 msgid "Pc"
-msgstr ""
+msgstr "Pc"
 
 #: ../src/helper/units.cpp:40
 msgid "Pixel"
 msgstr "Піксэль"
 
-#: ../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
+#: ../src/helper/units.cpp:40
+#: ../src/ui/dialog/inkscape-preferences.cpp:194
+#: ../src/ui/dialog/inkscape-preferences.cpp:198
+#: ../src/ui/dialog/inkscape-preferences.cpp:201
+#: ../src/ui/widget/selected-style.cpp:279
 msgid "px"
-msgstr "px"
+msgstr "пкс"
 
 #: ../src/helper/units.cpp:40
 msgid "Pixels"
@@ -5016,14 +4443,16 @@ 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 "Ð\90дÑ\81оÑ\82ка"
+msgstr "Ð\90дÑ\81оÑ\82ак"
 
-#: ../src/helper/units.cpp:42 ../src/ui/dialog/inkscape-preferences.cpp:218
+#: ../src/helper/units.cpp:42
+#: ../src/ui/dialog/inkscape-preferences.cpp:214
 msgid "%"
 msgstr "%"
 
@@ -5035,9 +4464,10 @@ msgstr "Адсоткі"
 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:287
 msgid "mm"
-msgstr "mm"
+msgstr "мм"
 
 #: ../src/helper/units.cpp:43
 msgid "Millimeters"
@@ -5045,11 +4475,11 @@ msgstr "Мілімэтры"
 
 #: ../src/helper/units.cpp:44
 msgid "Centimeter"
-msgstr "СанÑ\86Ñ\96мэтар"
+msgstr "СанÑ\82Ñ\8bмэтар"
 
 #: ../src/helper/units.cpp:44
 msgid "cm"
-msgstr "cm"
+msgstr "см"
 
 #: ../src/helper/units.cpp:44
 msgid "Centimeters"
@@ -5061,12 +4491,11 @@ msgstr "Мэтар"
 
 #: ../src/helper/units.cpp:45
 msgid "m"
-msgstr "m"
+msgstr "м"
 
 #: ../src/helper/units.cpp:45
-#, fuzzy
 msgid "Meters"
-msgstr "Мэтар"
+msgstr "Мэтры"
 
 #. no svg_unit
 #: ../src/helper/units.cpp:46
@@ -5082,18 +4511,16 @@ msgid "Inches"
 msgstr "Цалі"
 
 #: ../src/helper/units.cpp:47
-#, fuzzy
 msgid "Foot"
-msgstr "Ð\9fÑ\83нкт"
+msgstr "ФÑ\83т"
 
 #: ../src/helper/units.cpp:47
 msgid "ft"
-msgstr ""
+msgstr "ft"
 
 #: ../src/helper/units.cpp:47
-#, fuzzy
 msgid "Feet"
-msgstr "ТÑ\8dкÑ\81Ñ\82"
+msgstr "ФÑ\83Ñ\82Ñ\8b"
 
 #. 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
@@ -5107,7 +4534,7 @@ msgstr "em"
 
 #: ../src/helper/units.cpp:50
 msgid "Em squares"
-msgstr "М-квадрат"
+msgstr "М-квадраты"
 
 #. TRANSLATORS: for info, see http://www.w3.org/TR/REC-CSS2/syndata.html#length-units
 #: ../src/helper/units.cpp:52
@@ -5120,259 +4547,208 @@ msgstr "ex"
 
 #: ../src/helper/units.cpp:52
 msgid "Ex squares"
-msgstr "X-квадрат"
-
-#: ../src/inkscape.cpp:337
-#, fuzzy
-msgid "Autosaving documents..."
-msgstr "Захоўвае дакумэнт"
+msgstr "X-квадраты"
 
-#: ../src/inkscape.cpp:405
-msgid "Autosave failed! Could not find inkscape extension to save document."
-msgstr ""
-
-#: ../src/inkscape.cpp:408 ../src/inkscape.cpp:415
-#, c-format
-msgid "Autosave failed! File %s could not be saved."
-msgstr ""
-
-#: ../src/inkscape.cpp:430
-msgid "Autosave complete."
-msgstr ""
-
-#: ../src/inkscape.cpp:653
+#: ../src/inkscape.cpp:486
 msgid "Untitled document"
 msgstr "Дакумэнт бяз назвы"
 
 #. Show nice dialog box
-#: ../src/inkscape.cpp:682
-#, fuzzy
+#: ../src/inkscape.cpp:515
 msgid "Inkscape encountered an internal error and will close now.\n"
-msgstr "Sodipodi сустрэла памылку й будзе зараз закрыта.\n"
+msgstr "Inkscape сутыкнулася з нутранай памылкай і будзе зараз закрыта.\n"
 
-#: ../src/inkscape.cpp:683
-#, fuzzy
-msgid ""
-"Automatic backups of unsaved documents were done to the following "
-"locations:\n"
-msgstr ""
-"Азтаматычнае рэзэрваваньне незахаваных дакумэнтаў выканана ў наступныя "
-"мейсцы:\n"
+#: ../src/inkscape.cpp:516
+msgid "Automatic backups of unsaved documents were done to the following locations:\n"
+msgstr "Аўтаматычнае рэзэрваваньне незахаваных дакумэнтаў выканана ў наступныя месцы:\n"
 
-#: ../src/inkscape.cpp:684
-#, fuzzy
+#: ../src/inkscape.cpp:517
 msgid "Automatic backup of the following documents failed:\n"
-msgstr "Ð\97бой Ð°Ñ\9eÑ\82амаÑ\82Ñ\8bÑ\87нага Ñ\80Ñ\8dзÑ\8dÑ\80ваванÑ\8cнÑ\8f Ð½Ð°Ñ\81Ñ\82Ñ\83пнÑ\8bÑ\85 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82аÑ\9e:\n"
+msgstr "Ð\90Ñ\9eÑ\82амаÑ\82Ñ\8bÑ\87нае Ñ\80Ñ\8dзÑ\8dÑ\80ваванÑ\8cне Ð½Ð°Ñ\81Ñ\82Ñ\83пнÑ\8bÑ\85 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82аÑ\9e Ð½Ðµ Ð°Ñ\82Ñ\80Ñ\8bмалаÑ\81Ñ\8f:\n"
 
-#: ../src/inkscape.cpp:829
+#: ../src/inkscape.cpp:660
 #, c-format
 msgid ""
 "Cannot create directory %s.\n"
 "%s"
 msgstr ""
+"Немагчыма стварыць каталёґ %s.\n"
+"%s"
 
-#: ../src/inkscape.cpp:830
+#: ../src/inkscape.cpp:661
 #, c-format
 msgid ""
 "%s is not a valid directory.\n"
 "%s"
 msgstr ""
+"%s не зьяўляецца дапушчальным каталёґам.\n"
+"%s"
 
-#: ../src/inkscape.cpp:831
+#: ../src/inkscape.cpp:662
 #, c-format
 msgid ""
 "Cannot create file %s.\n"
 "%s"
 msgstr ""
+"Немагчыма стварыць файл %s.\n"
+"%s"
 
-#: ../src/inkscape.cpp:832
+#: ../src/inkscape.cpp:663
 #, c-format
 msgid ""
 "Cannot write file %s.\n"
 "%s"
 msgstr ""
+"Немагчыма запісаць файл %s.\n"
+"%s"
 
-#: ../src/inkscape.cpp:833
+#: ../src/inkscape.cpp:664
 msgid ""
 "Although Inkscape will run, it will use default settings,\n"
 "and any changes made in preferences will not be saved."
 msgstr ""
+"Хоць Inkscape і будзе працаваць, будуць скарыстаныя прадвызначаныя наладкі,\n"
+"і любыя зьмены, зробленыя ў настаўленьнях, ня будуць захаваныя."
 
-#: ../src/inkscape.cpp:903 ../src/preferences.cpp:56
+#: ../src/inkscape.cpp:734
+#: ../src/preferences.cpp:56
 #, c-format
 msgid ""
 "%s is not a regular file.\n"
 "%s"
 msgstr ""
+"%s не зьяўляецца звычайным файлам.\n"
+"%s"
 
-#: ../src/inkscape.cpp:904 ../src/preferences.cpp:57
+#: ../src/inkscape.cpp:735
+#: ../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"
+"ты ня маеш дазволу чытаць яго.\n"
+"%s"
 
-#: ../src/inkscape.cpp:906
+#: ../src/inkscape.cpp:737
 #, c-format
 msgid ""
 "%s is not a valid menus file.\n"
 "%s"
 msgstr ""
+"%s не зьяўляецца дапушчальным файлам з мэню.\n"
+"%s"
 
-#: ../src/inkscape.cpp:907
+#: ../src/inkscape.cpp:738
 msgid ""
 "Inkscape will run with default menus.\n"
 "New menus will not be saved."
 msgstr ""
+"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
+#: ../src/interface.cpp:841
 msgid "Commands Bar"
-msgstr ""
+msgstr "Панэль загадаў"
 
-#: ../src/interface.cpp:838
+#: ../src/interface.cpp:841
 msgid "Show or hide the Commands bar (under the menu)"
-msgstr ""
+msgstr "Паказваць ці не панэль загадаў (пад мэню)"
 
-#: ../src/interface.cpp:840
+#: ../src/interface.cpp:843
 #, fuzzy
 msgid "Tool Controls Bar"
-msgstr "Выбары інструмэнта"
+msgstr "_Паказваць панэль кнопак"
 
-#: ../src/interface.cpp:840
+#: ../src/interface.cpp:843
+#, fuzzy
 msgid "Show or hide the Tool Controls bar"
-msgstr ""
+msgstr "Паказваць ці не панэль загадаў (пад мэню)"
 
-#: ../src/interface.cpp:842
+#: ../src/interface.cpp:845
 msgid "_Toolbox"
-msgstr ""
+msgstr "_Панэль інструмэнтаў"
 
-#: ../src/interface.cpp:842
+#: ../src/interface.cpp:845
 msgid "Show or hide the main toolbox (on the left)"
-msgstr ""
+msgstr "Паказваць ці не галоўную панэль інструмэнтаў (зьлева)"
 
-#: ../src/interface.cpp:848
-#, fuzzy
+#: ../src/interface.cpp:851
 msgid "_Palette"
-msgstr "УзоÑ\80:"
+msgstr "Ð\9f_алÑ\96Ñ\82Ñ\80а"
 
-#: ../src/interface.cpp:848
+#: ../src/interface.cpp:851
 msgid "Show or hide the color palette"
-msgstr ""
+msgstr "Паказваць ці не палітру колераў"
 
-#: ../src/interface.cpp:850
+#: ../src/interface.cpp:853
 msgid "_Statusbar"
-msgstr ""
+msgstr "_Радок стану"
 
-#: ../src/interface.cpp:850
+#: ../src/interface.cpp:853
 msgid "Show or hide the statusbar (at the bottom of the window)"
-msgstr ""
+msgstr "Паказваць ці не радок стану (унізе вакна)"
 
-#: ../src/interface.cpp:904
+#: ../src/interface.cpp:907
 #, c-format
 msgid "Verb \"%s\" Unknown"
-msgstr ""
+msgstr "Дзеяньне «%s» невядома"
 
 #. TRANSLATORS: #%s is the id of the group e.g. <g id="#g7">, not a number.
-#: ../src/interface.cpp:1023
+#: ../src/interface.cpp:1026
 #, c-format
 msgid "Enter group #%s"
-msgstr ""
+msgstr "Увайсьці ў ґрупу #%s"
 
-#: ../src/interface.cpp:1034
-#, fuzzy
+#: ../src/interface.cpp:1037
 msgid "Go to parent"
-msgstr "ФаÑ\80баваÑ\86Ñ\8c"
+msgstr "Ð\9fеÑ\80айÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ð° Ð±Ð°Ñ\86Ñ\8cкоÑ\9eÑ\81кага"
 
-#: ../src/interface.cpp:1125 ../src/interface.cpp:1210
-#: ../src/ui/widget/selected-style.cpp:466
-#, fuzzy
+#: ../src/interface.cpp:1128
+#: ../src/interface.cpp:1213
+#: ../src/ui/widget/selected-style.cpp:461
 msgid "Drop color"
-msgstr "Канчатковы колер"
+msgstr "Кіданьне колеру"
 
-#: ../src/interface.cpp:1164
-#, fuzzy
+#: ../src/interface.cpp:1167
 msgid "Drop color on gradient"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³радыент"
+msgstr "Ð\9aÑ\96данÑ\8cне ÐºÐ¾Ð»ÐµÑ\80Ñ\83 Ð½Ð° Ò\91радыент"
 
-#: ../src/interface.cpp:1223
+#: ../src/interface.cpp:1226
 msgid "Could not parse SVG data"
-msgstr ""
+msgstr "Немагчыма прааналізаваць даньні SVG"
 
-#: ../src/interface.cpp:1265
+#: ../src/interface.cpp:1268
 msgid "Drop SVG"
-msgstr ""
+msgstr "Кіданьне SVG"
 
-#: ../src/interface.cpp:1323
-#, fuzzy
+#: ../src/interface.cpp:1326
 msgid "Drop bitmap image"
-msgstr "Ð\86мпаÑ\80Ñ\82Ñ\83е ÐºÑ\80опкавÑ\8b Ñ\86Ñ\96 SVG Ð²Ñ\96даÑ\80Ñ\8bÑ\81 Ñ\83 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82"
+msgstr "Ð\9aÑ\96данÑ\8cне Ñ\80аÑ\81Ñ\82Ñ\80авага Ð²Ñ\96даÑ\80Ñ\8bÑ\81а"
 
-#: ../src/interface.cpp:1415
+#: ../src/interface.cpp:1418
 #, c-format
 msgid ""
-"<span weight=\"bold\" size=\"larger\">A file named \"%s\" already exists. Do "
-"you want to replace it?</span>\n"
+"<span weight=\"bold\" size=\"larger\">A file named \"%s\" already exists. Do you want to replace it?</span>\n"
 "\n"
 "The file already exists in \"%s\". Replacing it will overwrite its contents."
 msgstr ""
+"<span weight=\"bold\" size=\"larger\">Файл «%s» ужо існуе. Ці жадаеш замяніць яго?</span>\n"
+"\n"
+"Файл ужо існуе ў «%s». Пры замене будзе перазапісана ягонае зьмесьціва."
 
-#: ../src/interface.cpp:1422
-#, fuzzy
+#: ../src/interface.cpp:1425
 msgid "Replace"
-msgstr "Падняць"
-
-#: ../src/io/sys.cpp:411 ../src/io/sys.cpp:419
-#, c-format
-msgid "Failed to read from child pipe (%s)"
-msgstr ""
-
-#: ../src/io/sys.cpp:443
-#, c-format
-msgid "Failed to change to directory '%s' (%s)"
-msgstr ""
-
-#: ../src/io/sys.cpp:449 ../src/io/sys.cpp:675
-#, c-format
-msgid "Failed to execute child process (%s)"
-msgstr ""
-
-#: ../src/io/sys.cpp:622
-#, c-format
-msgid "Invalid program name: %s"
-msgstr ""
-
-#: ../src/io/sys.cpp:632 ../src/io/sys.cpp:921
-#, c-format
-msgid "Invalid string in argument vector at %d: %s"
-msgstr ""
-
-#: ../src/io/sys.cpp:643 ../src/io/sys.cpp:936
-#, c-format
-msgid "Invalid string in environment: %s"
-msgstr ""
-
-#: ../src/io/sys.cpp:704
-#, c-format
-msgid "Failed to create pipe for communicating with child process (%s)"
-msgstr ""
-
-#: ../src/io/sys.cpp:917
-#, c-format
-msgid "Invalid working directory: %s"
-msgstr ""
-
-#: ../src/io/sys.cpp:985
-#, c-format
-msgid "Failed to execute helper program (%s)"
-msgstr ""
+msgstr "Замяніць"
 
 #: ../src/jabber_whiteboard/invitation-confirm-dialog.cpp:26
 #: ../src/jabber_whiteboard/session-file-selector.cpp:24
 msgid "_Write session file:"
-msgstr ""
+msgstr "_Пісаць файл сэсіі:"
 
 #: ../src/jabber_whiteboard/pedrogui.cpp:2630
 msgid "Shared SVG whiteboard tool."
@@ -5380,183 +4756,135 @@ msgstr ""
 
 #: ../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
-#, fuzzy
 msgid "Select a location and filename"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87ае Ñ\9eÑ\81е Ð°Ð±'екÑ\82Ñ\8b Ñ\9e Ð´Ð°ÐºÑ\83мÑ\8dнÑ\86е"
+msgstr "Ð\92Ñ\8bбеÑ\80Ñ\8b Ð¼ÐµÑ\81Ñ\86а Ð¹ Ð½Ð°Ð·Ð²Ñ\83 Ñ\84айла"
 
 #: ../src/jabber_whiteboard/session-file-selector.cpp:62
-#, fuzzy
 msgid "Set filename"
-msgstr "Ð\97аÑ\85аваÑ\86Ñ\8c Ñ\84айл"
+msgstr "Ð\9dазва Ñ\84айла"
 
 #: ../src/jabber_whiteboard/session-manager.cpp:308
 msgid "<b>%1</b> has invited you to a whiteboard session."
-msgstr ""
+msgstr "<b>%1</b> запрасіў цябе да працы з агульным нататнікам."
 
 #: ../src/jabber_whiteboard/session-manager.cpp:310
 msgid "Do you wish to accept <b>%1</b>'s whiteboard session invitation?"
-msgstr ""
+msgstr "Ці жадаеш прыняць запршэньне <b>%1</b> да працы з агульным нататнікам."
 
 #: ../src/jabber_whiteboard/session-manager.cpp:314
 msgid "Accept invitation"
-msgstr ""
+msgstr "Прыняць запрашэньне"
 
 #: ../src/jabber_whiteboard/session-manager.cpp:315
-#, fuzzy
 msgid "Decline invitation"
-msgstr "Арыентацыя:"
+msgstr "Адхіліць запрашэньне"
 
 #: ../src/jabber_whiteboard/session-manager.cpp:370
 msgid "Inkboard session (%1 to %2)"
-msgstr ""
+msgstr "Сэсія Inkboard (%1 з %2)"
 
-#: ../src/knot.cpp:430
+#: ../src/knot.cpp:428
 msgid "Node or handle drag canceled."
-msgstr ""
+msgstr "Валачэньне вузла ці ручкі адмененае."
 
-#: ../src/knotholder.cpp:132
-#, fuzzy
+#: ../src/knotholder.cpp:258
 msgid "Change handle"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ñ\80Ñ\83Ñ\87кÑ\83"
 
-#: ../src/knotholder.cpp:207
-#, fuzzy
+#: ../src/knotholder.cpp:312
 msgid "Move handle"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ñ\80Ñ\83Ñ\87кÑ\83"
 
-#. TRANSLATORS: This refers to the pattern that's inside the object
-#: ../src/knotholder.cpp:228
-msgid "<b>Move</b> the pattern fill inside the object"
-msgstr ""
-
-#: ../src/knotholder.cpp:231
-msgid "<b>Scale</b> the pattern fill uniformly"
-msgstr ""
-
-#: ../src/knotholder.cpp:234
-msgid "<b>Rotate</b> the pattern fill; with <b>Ctrl</b> to snap angle"
-msgstr ""
-
-#: ../src/libgdl/gdl-dock-bar.c:108
-#, fuzzy
-msgid "Master"
-msgstr "Падняць"
-
-#: ../src/libgdl/gdl-dock-bar.c:109
-msgid "GdlDockMaster object which the dockbar widget is attached to"
+#: ../src/libgdl/gdl-dock-bar.c:108
+msgid "Master"
+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 "Ð\9cаÑ\88Ñ\82аб"
+msgstr "СÑ\82Ñ\8bлÑ\8c Ð´Ð¾ÐºÐ°Ð²Ð°Ð¹ Ð¿Ð°Ð½Ñ\8dлÑ\96"
 
 #: ../src/libgdl/gdl-dock-bar.c:117
 msgid "Dockbar style to show items on it"
 msgstr ""
 
-#: ../src/libgdl/gdl-dock.c:175 ../src/ui/dialog/inkscape-preferences.cpp:496
-#: ../src/ui/dialog/inkscape-preferences.cpp:517
-#, fuzzy
-msgid "Floating"
-msgstr "Разрозьненьне:"
-
-#: ../src/libgdl/gdl-dock.c:176
-msgid "Whether the dock is floating in its own window"
-msgstr ""
-
-#: ../src/libgdl/gdl-dock.c:183 ../src/libgdl/gdl-dock-master.c:144
-#, fuzzy
-msgid "Default title"
-msgstr "Дапомнае"
-
-#: ../src/libgdl/gdl-dock.c:184
-msgid "Default title for the newly created floating docks"
-msgstr ""
-
-#: ../src/libgdl/gdl-dock.c:191
-msgid "Width for the dock when it's of floating type"
-msgstr ""
+#: ../src/libgdl/gdl-dock-item-grip.c:395
+msgid "Iconify"
+msgstr "Згарнуць"
 
-#: ../src/libgdl/gdl-dock.c:199
-msgid "Height for the dock when it's of floating type"
-msgstr ""
+#: ../src/libgdl/gdl-dock-item-grip.c:395
+msgid "Iconify this dock"
+msgstr "Згарнуць гэты док"
 
-#: ../src/libgdl/gdl-dock.c:206
-#, fuzzy
-msgid "Float X"
-msgstr "Разрозьненьне:"
+#: ../src/libgdl/gdl-dock-item-grip.c:397
+msgid "Close"
+msgstr "Закрыць"
 
-#: ../src/libgdl/gdl-dock.c:207
-msgid "X coordinate for a floating dock"
-msgstr ""
+#: ../src/libgdl/gdl-dock-item-grip.c:397
+msgid "Close this dock"
+msgstr "Закрыць гэты док"
 
-#: ../src/libgdl/gdl-dock.c:214
+#: ../src/libgdl/gdl-dock-item-grip.c:706
+#: ../src/libgdl/gdl-dock-tablabel.c:128
 #, fuzzy
-msgid "Float Y"
-msgstr "Разрозьненьне:"
-
-#: ../src/libgdl/gdl-dock.c:215
-msgid "Y coordinate for a floating dock"
-msgstr ""
+msgid "Controlling dock item"
+msgstr "Злучыць/адлучыць элемэнт"
 
-#: ../src/libgdl/gdl-dock.c:499
-#, c-format
-msgid "Dock #%d"
+#: ../src/libgdl/gdl-dock-item-grip.c:707
+msgid "Dockitem which 'owns' this grip"
 msgstr ""
 
 #: ../src/libgdl/gdl-dock-item.c:287
-#, fuzzy
 msgid "Orientation"
-msgstr "Арыентацыя:"
+msgstr "Арыентацыя"
 
 #: ../src/libgdl/gdl-dock-item.c:288
+#, fuzzy
 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"
+msgid "If set, the dock item can be resized when docked in a paned"
 msgstr ""
 
 #: ../src/libgdl/gdl-dock-item.c:311
 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.)"
+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:148
 msgid "Locked"
-msgstr "Ð\92Ñ\83зел"
+msgstr "Ð\97амкнÑ\83Ñ\82Ñ\8b"
 
 #: ../src/libgdl/gdl-dock-item.c:321
-msgid ""
-"If set, the dock item cannot be dragged around and it doesn't show a grip"
+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 ""
 
 #: ../src/libgdl/gdl-dock-item.c:336
-#, fuzzy
 msgid "Preferred height"
-msgstr "Ð\92Ñ\8bÑ\88Ñ\8bнÑ\8f:"
+msgstr "Ð\9fажаданаÑ\8f Ð²Ñ\8bÑ\88Ñ\8bнÑ\8f"
 
 #: ../src/libgdl/gdl-dock-item.c:337
 msgid "Preferred height for the dock item"
@@ -5564,131 +4892,101 @@ 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."
+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"
+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 ""
 
-#: ../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 "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\90дамкнÑ\83Ñ\86Ñ\8c"
 
 #. Hide menuitem.
 #: ../src/libgdl/gdl-dock-item.c:1486
-#, fuzzy
 msgid "Hide"
-msgstr "Ð\9fаказаÑ\86Ñ\8c ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\8f"
+msgstr "СÑ\85аваÑ\86Ñ\8c"
 
 #. Lock menuitem
 #: ../src/libgdl/gdl-dock-item.c:1491
 msgid "Lock"
-msgstr ""
+msgstr "Замкнуць"
 
 #: ../src/libgdl/gdl-dock-item.c:1717
 #, c-format
 msgid "Attempt to bind an unbound item %p"
 msgstr ""
 
-#: ../src/libgdl/gdl-dock-item-grip.c:395
-msgid "Iconify"
-msgstr ""
-
-#: ../src/libgdl/gdl-dock-item-grip.c:395
-msgid "Iconify this dock"
-msgstr ""
-
-#: ../src/libgdl/gdl-dock-item-grip.c:397
-#, fuzzy
-msgid "Close"
-msgstr "Закрыць"
-
-#: ../src/libgdl/gdl-dock-item-grip.c:397
-msgid "Close this dock"
-msgstr ""
-
-#: ../src/libgdl/gdl-dock-item-grip.c:706
-#: ../src/libgdl/gdl-dock-tablabel.c:128
-msgid "Controlling dock item"
-msgstr ""
-
-#: ../src/libgdl/gdl-dock-item-grip.c:707
-msgid "Dockitem which 'owns' this grip"
-msgstr ""
+#: ../src/libgdl/gdl-dock-master.c:141
+#: ../src/libgdl/gdl-dock.c:183
+msgid "Default title"
+msgstr "Прадвызначаны загаловак"
 
-#: ../src/libgdl/gdl-dock-master.c:145
+#: ../src/libgdl/gdl-dock-master.c:142
 msgid "Default title for newly created floating docks"
 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"
+#: ../src/libgdl/gdl-dock-master.c:149
+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 ""
 
-#: ../src/libgdl/gdl-dock-master.c:160 ../src/libgdl/gdl-switcher.c:707
+#: ../src/libgdl/gdl-dock-master.c:157
+#: ../src/libgdl/gdl-switcher.c:707
+#, fuzzy
 msgid "Switcher Style"
-msgstr ""
+msgstr "_Стыль укладкі"
 
-#: ../src/libgdl/gdl-dock-master.c:161 ../src/libgdl/gdl-switcher.c:708
+#: ../src/libgdl/gdl-dock-master.c:158
+#: ../src/libgdl/gdl-switcher.c:708
 #, fuzzy
 msgid "Switcher buttons style"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð·Ð¾Ñ\80кÑ\96 - Ñ\81Ñ\82ваÑ\80ае Ð·Ð¾Ñ\80кÑ\96 Ð¹ Ð¿Ð°Ð»Ñ\96гонÑ\8b"
+msgstr "Ð\92Ñ\8bбеÑ\80Ñ\8b Ñ\81Ñ\82Ñ\8bлÑ\8c Ð°Ð±Ñ\80Ñ\8bÑ\81оÑ\9eванÑ\8cнÑ\8f"
 
-#: ../src/libgdl/gdl-dock-master.c:168
+#: ../src/libgdl/gdl-dock-master.c:165
 #, fuzzy
 msgid "Expand direction"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\92Ñ\8dкÑ\82аÑ\80 Ð½Ð°Ð¿Ñ\80амкÑ\83"
 
-#: ../src/libgdl/gdl-dock-master.c:169
-msgid ""
-"Allow the master's dock items to expand their container dock objects in the "
-"given direction"
+#: ../src/libgdl/gdl-dock-master.c:166
+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
+#: ../src/libgdl/gdl-dock-master.c:781
 #, c-format
-msgid ""
-"master %p: unable to add object %p[%s] to the hash.  There already is an "
-"item with that name (%p)."
+msgid "master %p: unable to add object %p[%s] to the hash.  There already is an item with that name (%p)."
 msgstr ""
 
-#: ../src/libgdl/gdl-dock-master.c:969
+#: ../src/libgdl/gdl-dock-master.c:954
 #, c-format
-msgid ""
-"The new dock controller %p is automatic.  Only manual dock objects should be "
-"named controller."
+msgid "The new dock controller %p is automatic.  Only manual dock objects should be named controller."
 msgstr ""
 
 #: ../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
+#: ../src/ui/dialog/align-and-distribute.cpp:907
+#: ../src/ui/dialog/document-properties.cpp:129
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1427
+#: ../src/widgets/desktop-widget.cpp:1527
 msgid "Page"
-msgstr "Ð\90Ñ\80кÑ\83Ñ\88"
+msgstr "СÑ\82аÑ\80онка"
 
 #: ../src/libgdl/gdl-dock-notebook.c:135
 #, fuzzy
 msgid "The index of the current page"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87ае Ñ\9eÑ\81е Ð°Ð±'екÑ\82Ñ\8b Ñ\9e Ð´Ð°ÐºÑ\83мÑ\8dнÑ\86е"
+msgstr "Ð\86зноÑ\9e Ð·Ð°Ð³Ñ\80Ñ\83зÑ\96Ñ\86Ñ\8c Ñ\81Ñ\82аÑ\80онкÑ\83"
 
-#: ../src/libgdl/gdl-dock-object.c:120 ../src/ui/widget/page-sizer.cpp:198
+#: ../src/libgdl/gdl-dock-object.c:120
+#: ../src/ui/widget/page-sizer.cpp:195
 msgid "Name"
-msgstr ""
+msgstr "Назва"
 
 #: ../src/libgdl/gdl-dock-object.c:121
 msgid "Unique name for identifying the dock object"
@@ -5696,7 +4994,7 @@ msgstr ""
 
 #: ../src/libgdl/gdl-dock-object.c:128
 msgid "Long name"
-msgstr ""
+msgstr "Доўгае імя"
 
 #: ../src/libgdl/gdl-dock-object.c:129
 msgid "Human readable name for the dock object"
@@ -5705,15 +5003,16 @@ msgstr ""
 #: ../src/libgdl/gdl-dock-object.c:135
 #, fuzzy
 msgid "Stock Icon"
-msgstr "Ð\97оÑ\80ка"
+msgstr "Ð\97наÑ\87ка Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82а"
 
 #: ../src/libgdl/gdl-dock-object.c:136
 msgid "Stock icon for the dock object"
 msgstr ""
 
 #: ../src/libgdl/gdl-dock-object.c:142
+#, fuzzy
 msgid "Pixbuf Icon"
-msgstr ""
+msgstr "Значка інструмэнта"
 
 #: ../src/libgdl/gdl-dock-object.c:143
 msgid "Pixbuf icon for the dock object"
@@ -5722,7 +5021,7 @@ msgstr ""
 #: ../src/libgdl/gdl-dock-object.c:148
 #, fuzzy
 msgid "Dock master"
-msgstr "Апусьціць вузел"
+msgstr "Асноўны IDE%s (%s)"
 
 #: ../src/libgdl/gdl-dock-object.c:149
 msgid "Dock master this dock object is bound to"
@@ -5730,16 +5029,12 @@ 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
@@ -5749,47 +5044,41 @@ 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 "Ð\9fÑ\80апоÑ\80Ñ\86Ñ\8bÑ\96:"
+msgstr "СÑ\82ановÑ\96Ñ\88Ñ\87а"
 
 #: ../src/libgdl/gdl-dock-paned.c:133
+#, fuzzy
 msgid "Position of the divider in pixels"
-msgstr ""
+msgstr "_Памер шрыфта ў піксэлях"
 
 #: ../src/libgdl/gdl-dock-placeholder.c:143
-#, fuzzy
 msgid "Sticky"
-msgstr "in"
+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
+#, fuzzy
 msgid "Host"
-msgstr ""
+msgstr "%s: Невядомы хост.\n"
 
 #: ../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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\83зел Ñ\8dлемÑ\8dнÑ\82а"
+msgstr "Ð\9dаÑ\81Ñ\82Ñ\83пнае Ð¼ÐµÑ\81Ñ\86а"
 
 #: ../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"
+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
@@ -5803,28 +5092,28 @@ msgstr ""
 #: ../src/libgdl/gdl-dock-placeholder.c:184
 #, fuzzy
 msgid "Floating Toplevel"
-msgstr "Разрозьненьне:"
+msgstr ""
+"Плаваючае вылучэньне\n"
+"(%s)"
 
 #: ../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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9aааÑ\80дÑ\8bнаÑ\82а X"
 
 #: ../src/libgdl/gdl-dock-placeholder.c:192
-msgid "X coordinate for dock when floating"
+msgid "X-Coordinate fow dock when floating"
 msgstr ""
 
 #: ../src/libgdl/gdl-dock-placeholder.c:198
-#, fuzzy
 msgid "Y-Coordinate"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9aааÑ\80дÑ\8bнаÑ\82а Y"
 
 #: ../src/libgdl/gdl-dock-placeholder.c:199
-msgid "Y coordinate for dock when floating"
+msgid "Y-Coordinate fow dock when floating"
 msgstr ""
 
 #: ../src/libgdl/gdl-dock-placeholder.c:494
@@ -5838,983 +5127,407 @@ 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
 msgid "Dockitem which 'owns' this tablabel"
 msgstr ""
 
-#: ../src/libnrtype/FontFactory.cpp:774
-msgid "Ignoring font without family that will crash Pango"
-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 "Сіні:"
-
-#: ../src/live_effects/effect.cpp:69
-#, fuzzy
-msgid "Pattern Along Path"
-msgstr "Раўнае аб'ект"
-
-#. for historic reasons, this effect is called skeletal(strokes) in Inkscape:SVG
-#: ../src/live_effects/effect.cpp:70
-#, fuzzy
-msgid "Sketch"
-msgstr "Вылучэньне"
-
-#: ../src/live_effects/effect.cpp:71
-msgid "VonKoch"
-msgstr ""
+#: ../src/libgdl/gdl-dock.c:175
+#: ../src/ui/dialog/inkscape-preferences.cpp:464
+#: ../src/ui/dialog/inkscape-preferences.cpp:490
+msgid "Floating"
+msgstr "Плаваючы"
 
-#: ../src/live_effects/effect.cpp:72
-msgid "Knot"
+#: ../src/libgdl/gdl-dock.c:176
+msgid "Whether the dock is floating in its own window"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:74
-msgid "doEffect stack test"
+#: ../src/libgdl/gdl-dock.c:184
+msgid "Default title for the newly created floating docks"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:76
-#, fuzzy
-msgid "Gears"
-msgstr "Ачысьціць усё"
-
-#: ../src/live_effects/effect.cpp:77
-msgid "Stitch Sub-Paths"
+#: ../src/libgdl/gdl-dock.c:191
+msgid "Width for the dock when it's of floating type"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:78
-msgid "Circle (center+radius)"
+#: ../src/libgdl/gdl-dock.c:199
+msgid "Height for the dock when it's of floating type"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:79
-#, fuzzy
-msgid "Perspective path"
-msgstr "Зьберагчы"
+#: ../src/libgdl/gdl-dock.c:206
+msgid "Float X"
+msgstr "X плаваючага"
 
-#: ../src/live_effects/effect.cpp:80
-msgid "Spiro spline"
-msgstr ""
+#: ../src/libgdl/gdl-dock.c:207
+msgid "X coordinate for a floating dock"
+msgstr "Каардыната X плаваючага доку"
 
-#: ../src/live_effects/effect.cpp:81
-#, fuzzy
-msgid "Lattice Deformation"
-msgstr "Адмяняе апошняе дзеяньне"
+#: ../src/libgdl/gdl-dock.c:214
+msgid "Float Y"
+msgstr "Y плаваючага"
 
-#: ../src/live_effects/effect.cpp:82
-#, fuzzy
-msgid "Envelope Deformation"
-msgstr "Трансфармаваньне вылучэньня"
+#: ../src/libgdl/gdl-dock.c:215
+msgid "Y coordinate for a floating dock"
+msgstr "Каардыната Y плаваючага доку"
 
-#: ../src/live_effects/effect.cpp:83
-#, fuzzy
-msgid "Construct grid"
-msgstr "СанÑ\82Ñ\8bмÑ\8dÑ\82Ñ\80Ñ\8b"
+#: ../src/libgdl/gdl-dock.c:499
+#, c-format
+msgid "Dock #%d"
+msgstr "Ð\94ок #%d"
 
-#: ../src/live_effects/effect.cpp:84
-msgid "Perpendicular bisector"
-msgstr ""
+#: ../src/libnrtype/FontFactory.cpp:774
+msgid "Ignoring font without family that will crash Pango"
+msgstr "Праігнараваны шрыфт без сямейства, бо ён парушыць Pango"
 
-#: ../src/live_effects/effect.cpp:85
-#, fuzzy
-msgid "Tangent to curve"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+#. {constant defined in effect.h, N_("name of your effect"), "name of your effect in SVG"}
+#: ../src/live_effects/effect.cpp:50
+msgid "Bend Path"
+msgstr "СагнÑ\83Ñ\86Ñ\8c Ñ\88лÑ\8fÑ\85"
 
-#: ../src/live_effects/effect.cpp:86
-#, fuzzy
-msgid "Mirror reflection"
-msgstr "Вылучэньне"
+#: ../src/live_effects/effect.cpp:51
+msgid "Pattern Along Path"
+msgstr "Узор уздоўж шляху"
 
-#: ../src/live_effects/effect.cpp:178
-#, fuzzy
-msgid "Create and apply path effect"
-msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
+#: ../src/live_effects/effect.cpp:53
+msgid "Slant"
+msgstr "Косы"
 
-#: ../src/live_effects/effect.cpp:189
+#: ../src/live_effects/effect.cpp:54
 #, fuzzy
-msgid "Is visible?"
-msgstr "Ð\91аÑ\87нÑ\8b"
+msgid "doEffect stack test"
+msgstr "УвÑ\8fдзÑ\96 Ñ\82Ñ\8dкÑ\81Ñ\82 Ð´Ð»Ñ\8f Ð¿Ñ\80авеÑ\80кÑ\96:"
 
-#: ../src/live_effects/effect.cpp:189
-msgid ""
-"If unchecked, the effect remains applied to the object but is temporarily "
-"disabled on canvas"
-msgstr ""
+#: ../src/live_effects/effect.cpp:56
+msgid "Gears"
+msgstr "Шэсьцерні"
 
-#: ../src/live_effects/effect.cpp:207
+#: ../src/live_effects/effect.cpp:57
 #, fuzzy
-msgid "No effect"
-msgstr "Адлюстраваць гарызантальна"
+msgid "Stitch Sub-Paths"
+msgstr "_Пласты, каналы й шляхі"
 
-#: ../src/live_effects/effect.cpp:254
-#, c-format
-msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks"
-msgstr ""
+#: ../src/live_effects/effect.cpp:115
+msgid "No effect"
+msgstr "Няма эфэкту"
 
-#: ../src/live_effects/effect.cpp:294
+#: ../src/live_effects/effect.cpp:149
 msgid "An exception occurred during execution of the Path Effect."
-msgstr ""
+msgstr "Надарылася выключная сытуацыя пад час выкананьня эфэкту шляха."
 
-#: ../src/live_effects/effect.cpp:512
-#, fuzzy, c-format
+#: ../src/live_effects/effect.cpp:327
+#, c-format
 msgid "Editing parameter <b>%s</b>."
-msgstr "Ð\9fÑ\80амакÑ\83Ñ\82нÑ\96к"
+msgstr "Ð\97Ñ\8cмÑ\8fненÑ\8cне Ð¿Ð°Ñ\80амÑ\8dÑ\82Ñ\80а <b>%s</b>."
 
-#: ../src/live_effects/effect.cpp:517
+#: ../src/live_effects/effect.cpp:332
 msgid "None of the applied path effect's parameters can be edited on-canvas."
 msgstr ""
 
-#: ../src/live_effects/lpe-bendpath.cpp:57
+#: ../src/live_effects/parameter/enum.h:50
 #, fuzzy
-msgid "Bend path"
-msgstr "Ð\90даÑ\81обÑ\96Ñ\86Ñ\8c"
+msgid "Change enumeration parameter"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð»Ñ\8fÒ\91Ñ\96Ñ\87нÑ\8b Ð¿Ð°Ñ\80амÑ\8dÑ\82аÑ\80"
 
-#: ../src/live_effects/lpe-bendpath.cpp:57
-msgid "Path along which to bend the original path"
-msgstr ""
+#: ../src/live_effects/lpe-gears.cpp:212
+msgid "Teeth"
+msgstr "Зубы"
 
-#: ../src/live_effects/lpe-bendpath.cpp:58
-#, fuzzy
-msgid "Width of the path"
-msgstr "Папера карыстальніка"
+#: ../src/live_effects/lpe-gears.cpp:212
+msgid "The number of teeth"
+msgstr "Колькасьць зубоў"
 
-#: ../src/live_effects/lpe-bendpath.cpp:59
-#: ../src/live_effects/lpe-patternalongpath.cpp:65
-msgid "Width in units of length"
-msgstr ""
+#: ../src/live_effects/lpe-gears.cpp:213
+msgid "Phi"
+msgstr "φ"
 
-#: ../src/live_effects/lpe-bendpath.cpp:59
-msgid "Scale the width of the path in units of its length"
-msgstr ""
+#: ../src/live_effects/lpe-gears.cpp:213
+msgid "Tooth pressure angle (typically 20-25 deg).  The ratio of teeth not in contact."
+msgstr "Вугал націску зуба (зазвычай 20-25 ґрад). Вызначае шырыню некантактавай часткі зуба."
 
-#: ../src/live_effects/lpe-bendpath.cpp:60
-#, fuzzy
-msgid "Original path is vertical"
-msgstr "Раўнае аб'ект"
+#: ../src/live_effects/lpe-curvestitch.cpp:43
+msgid "Stroke path"
+msgstr "Стварыць шлях"
 
-#: ../src/live_effects/lpe-bendpath.cpp:60
-msgid "Rotates the original 90 degrees, before bending it along the bend path"
-msgstr ""
+#: ../src/live_effects/lpe-curvestitch.cpp:43
+msgid "The path that will be used as stitch."
+msgstr "Шлях, які будзе выкарыстаны як шво."
 
-#: ../src/live_effects/lpe-constructgrid.cpp:28
-#, fuzzy
-msgid "Size X"
-msgstr "Бакі:"
+#: ../src/live_effects/lpe-curvestitch.cpp:44
+msgid "Number of paths"
+msgstr "Колькасьць шляхоў"
 
-#: ../src/live_effects/lpe-constructgrid.cpp:28
-msgid "The size of the grid in X direction."
-msgstr ""
+#: ../src/live_effects/lpe-curvestitch.cpp:44
+msgid "The number of paths that will be generated."
+msgstr "Вызначае колькі стварыць шляхоў."
 
-#: ../src/live_effects/lpe-constructgrid.cpp:29
+#: ../src/live_effects/lpe-curvestitch.cpp:45
 #, fuzzy
-msgid "Size Y"
-msgstr "Бакі:"
+msgid "Start edge variance"
+msgstr "_Вызначыць краі"
 
-#: ../src/live_effects/lpe-constructgrid.cpp:29
-msgid "The size of the grid in Y direction."
+#: ../src/live_effects/lpe-curvestitch.cpp:45
+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:42
+#: ../src/live_effects/lpe-curvestitch.cpp:46
 #, fuzzy
-msgid "Stitch path"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgid "Start spacing variance"
+msgstr "УдакладнÑ\96Ñ\86Ñ\8c Ð¼Ñ\96жÑ\80адковÑ\8b Ñ\96нÑ\82Ñ\8dÑ\80вал"
 
-#: ../src/live_effects/lpe-curvestitch.cpp:42
-msgid "The path that will be used as stitch."
+#: ../src/live_effects/lpe-curvestitch.cpp:46
+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:43
+#: ../src/live_effects/lpe-curvestitch.cpp:47
 #, fuzzy
-msgid "Number of paths"
-msgstr "Няма рафарбоўкі"
+msgid "End edge variance"
+msgstr "_Вызначыць краі"
 
-#: ../src/live_effects/lpe-curvestitch.cpp:43
-msgid "The number of paths that will be generated."
-msgstr ""
-
-#: ../src/live_effects/lpe-curvestitch.cpp:44
-#, fuzzy
-msgid "Start edge variance"
-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"
-msgstr ""
-
-#: ../src/live_effects/lpe-curvestitch.cpp:45
-#, fuzzy
-msgid "Start spacing variance"
-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"
-msgstr ""
-
-#: ../src/live_effects/lpe-curvestitch.cpp:46
-msgid "End edge variance"
-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"
-msgstr ""
-
-#: ../src/live_effects/lpe-curvestitch.cpp:47
-#, fuzzy
-msgid "End spacing variance"
-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"
+#: ../src/live_effects/lpe-curvestitch.cpp:47
+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:48
 #, fuzzy
-msgid "Scale width"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgid "End spacing variance"
+msgstr "УдакладнÑ\96Ñ\86Ñ\8c Ð¼Ñ\96жÑ\80адковÑ\8b Ñ\96нÑ\82Ñ\8dÑ\80вал"
 
 #: ../src/live_effects/lpe-curvestitch.cpp:48
-#, fuzzy
-msgid "Scale the width of the stitch path"
-msgstr "Папера карыстальніка"
-
-#: ../src/live_effects/lpe-curvestitch.cpp:49
-msgid "Scale width relative to length"
+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: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 "Адасобіць"
-
-#: ../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 "Адасобіць"
-
-#: ../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 "Адасобіць"
-
-#: ../src/live_effects/lpe-envelope.cpp:38
-msgid "Bottom path along which to bend the original path"
-msgstr ""
+msgid "Scale width"
+msgstr "Зьмяняць таўшчыню"
 
-#: ../src/live_effects/lpe-envelope.cpp:39
+#: ../src/live_effects/lpe-curvestitch.cpp:49
 #, fuzzy
-msgid "Left bend path"
-msgstr "Ð\90даÑ\81обÑ\96Ñ\86Ñ\8c"
+msgid "Scaling of the width of the stroke path"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80 Ñ\83 Ñ\88лÑ\8fÑ\85"
 
-#: ../src/live_effects/lpe-envelope.cpp:39
-msgid "Left path along which to bend the original path"
-msgstr ""
+#: ../src/live_effects/lpe-curvestitch.cpp:50
+msgid "Scale width relative"
+msgstr "Зьмяняць таўшчыню адносна"
 
-#: ../src/live_effects/lpe-envelope.cpp:40
-msgid "Enable left & right paths"
+#: ../src/live_effects/lpe-curvestitch.cpp:50
+msgid "Scale the width of the stroke path relative to its length"
 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 "Раўнаць па кіруючых"
-
-#: ../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 "Тэкст"
-
-#: ../src/live_effects/lpe-gears.cpp:212
-msgid "The number of teeth"
-msgstr ""
+#: ../src/live_effects/lpe-pathalongpath.cpp:57
+msgid "Bend path"
+msgstr "Сагнуць шлях"
 
-#: ../src/live_effects/lpe-gears.cpp:213
-msgid "Phi"
+#: ../src/live_effects/lpe-pathalongpath.cpp:57
+msgid "Path along which to bend the original path"
 msgstr ""
 
-#: ../src/live_effects/lpe-gears.cpp:213
-msgid ""
-"Tooth pressure angle (typically 20-25 deg).  The ratio of teeth not in "
-"contact."
-msgstr ""
+#: ../src/live_effects/lpe-pathalongpath.cpp:58
+msgid "Width of the path"
+msgstr "Шырыня шляху"
 
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-knot.cpp:27
-#, fuzzy
-msgid "Gap width"
-msgstr "Рысаваньне штрыхоўкі"
+#: ../src/live_effects/lpe-pathalongpath.cpp:59
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:65
+msgid "Width in units of length"
+msgstr "Шырыня ў адзінках даўжыні"
 
-#: ../src/live_effects/lpe-knot.cpp:27
-msgid "The width of the gap in the path where it self-intersects"
+#: ../src/live_effects/lpe-pathalongpath.cpp:59
+msgid "Scale the width of the path in units of its length"
 msgstr ""
 
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-lattice.cpp:45
-#, fuzzy
-msgid "Control handle 0"
-msgstr "Стварыць лучыва"
-
-#: ../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/live_effects/lpe-lattice.cpp:46
-#, fuzzy
-msgid "Control handle 1"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:47
-#, fuzzy
-msgid "Control handle 2"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:48
-#, fuzzy
-msgid "Control handle 3"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:49
-#, fuzzy
-msgid "Control handle 4"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:50
-#, fuzzy
-msgid "Control handle 5"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:51
-#, fuzzy
-msgid "Control handle 6"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:52
-#, fuzzy
-msgid "Control handle 7"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:53
-#, fuzzy
-msgid "Control handle 8"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:54
-#, fuzzy
-msgid "Control handle 9"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:55
-#, fuzzy
-msgid "Control handle 10"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:56
-#, fuzzy
-msgid "Control handle 11"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:57
-#, fuzzy
-msgid "Control handle 12"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:58
-#, fuzzy
-msgid "Control handle 13"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:59
-#, fuzzy
-msgid "Control handle 14"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-lattice.cpp:60
-#, fuzzy
-msgid "Control handle 15"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-mirror_reflect.cpp:30
-#, fuzzy
-msgid "Reflection line"
-msgstr "Вылучэньне"
+#: ../src/live_effects/lpe-pathalongpath.cpp:60
+msgid "Original path is vertical"
+msgstr "Спачатны шлях вэртыкальны"
 
-#: ../src/live_effects/lpe-mirror_reflect.cpp:30
-msgid "Line which serves as 'mirror' for the reflection"
+#: ../src/live_effects/lpe-pathalongpath.cpp:60
+msgid "Rotates the original 90 degrees, before bending it along the bend path"
 msgstr ""
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:53
-#: ../share/extensions/pathalongpath.inx.h:11
-#, fuzzy
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:53
 msgid "Single"
-msgstr "Ð\9aÑ\83Ñ\82"
+msgstr "Ð\90Ñ\81обнÑ\8b"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:54
-#: ../share/extensions/pathalongpath.inx.h:12
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:54
 msgid "Single, stretched"
-msgstr ""
+msgstr "Асобны, расьцягнуты"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:55
-#: ../share/extensions/pathalongpath.inx.h:8
-#, fuzzy
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:55
 msgid "Repeated"
-msgstr "Прамакутнік"
+msgstr "Паўтораны"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:56
-#: ../share/extensions/pathalongpath.inx.h:9
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:56
 msgid "Repeated, stretched"
-msgstr ""
+msgstr "Паўтораны, расьцягнуты"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:62
-#, fuzzy
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:62
 msgid "Pattern source"
-msgstr "УзоÑ\80:"
+msgstr "Ð\9aÑ\80Ñ\8bнÑ\96Ñ\86а Ñ\9eзоÑ\80а"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:62
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:62
+#, fuzzy
 msgid "Path to put along the skeleton path"
-msgstr ""
+msgstr "Выберы <b>тэкст і шлях</b>, каб разьмесьціць тэкст на шляху."
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:63
-#, fuzzy
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:63
 msgid "Pattern copies"
-msgstr "УзоÑ\80:"
+msgstr "Ð\9aопÑ\96Ñ\96 Ñ\9eзоÑ\80а"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:63
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:63
 msgid "How many pattern copies to place along the skeleton path"
 msgstr ""
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:64
-#, fuzzy
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:64
 msgid "Width of the pattern"
-msgstr "Ð\9fапеÑ\80а ÐºÐ°Ñ\80Ñ\8bÑ\81Ñ\82алÑ\8cнÑ\96ка"
+msgstr "ШÑ\8bÑ\80Ñ\8bнÑ\8f Ñ\9eзоÑ\80Ñ\83"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:65
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:65
 msgid "Scale the width of the pattern in units of its length"
 msgstr ""
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:66
-#, fuzzy
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:66
 msgid "Spacing"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Y:"
+msgstr "Ð\86нÑ\82Ñ\8dÑ\80вал"
 
-#: ../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."
-msgstr ""
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:66
+msgid "Space between copies of the pattern"
+msgstr "Прагал між копіямі ўзора"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:67
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:67
 #: ../share/extensions/pathalongpath.inx.h:5
-#: ../share/extensions/pathscatter.inx.h:7
-#, fuzzy
 msgid "Normal offset"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\9dаÑ\80малÑ\8cнÑ\8b Ð·Ñ\80Ñ\83Ñ\85"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:68
-#: ../share/extensions/pathalongpath.inx.h:15
-#: ../share/extensions/pathscatter.inx.h:13
-#, fuzzy
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:68
+#: ../share/extensions/pathalongpath.inx.h:9
 msgid "Tangential offset"
-msgstr "Адлюстраваць вэртыкальна"
-
-#: ../src/live_effects/lpe-patternalongpath.cpp:69
-#, fuzzy
-msgid "Offsets in unit of pattern size"
-msgstr "Трансфармаваньне аб'екта"
-
-#: ../src/live_effects/lpe-patternalongpath.cpp:69
-msgid ""
-"Spacing, tangential and normal offset are expressed as a ratio of width/"
-"height"
-msgstr ""
+msgstr "Зрух па датычнай"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:70
+#: ../src/live_effects/lpe-skeletalstrokes.cpp:69
 #: ../share/extensions/pathalongpath.inx.h:7
-#: ../share/extensions/pathscatter.inx.h:9
-#, fuzzy
 msgid "Pattern is vertical"
-msgstr "Раўнае аб'ект"
-
-#: ../src/live_effects/lpe-patternalongpath.cpp:70
-msgid "Rotate pattern 90 deg before applying"
-msgstr ""
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:156
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:65
-msgid "Length left"
-msgstr ""
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:156
-msgid "Specifies the left end of the bisector"
-msgstr ""
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:157
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:66
-#, fuzzy
-msgid "Length right"
-msgstr "Раўнаньне"
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:157
-msgid "Specifies the right end of the bisector"
-msgstr ""
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:164
-msgid "Lala"
-msgstr ""
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:165
-#, fuzzy
-msgid "Lolo"
-msgstr "Фарбаваць"
-
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-perspective_path.cpp:42
-#, fuzzy
-msgid "Scale x"
-msgstr "Маштаб"
-
-#: ../src/live_effects/lpe-perspective_path.cpp:42
-msgid "Scale factor in x direction"
-msgstr ""
-
-#: ../src/live_effects/lpe-perspective_path.cpp:43
-#, fuzzy
-msgid "Scale y"
-msgstr "Маштаб"
-
-#: ../src/live_effects/lpe-perspective_path.cpp:43
-msgid "Scale factor in y direction"
-msgstr ""
-
-#: ../src/live_effects/lpe-perspective_path.cpp:44
-#, fuzzy
-msgid "Offset x"
-msgstr "-"
-
-#: ../src/live_effects/lpe-perspective_path.cpp:44
-msgid "Offset in x direction"
-msgstr ""
-
-#: ../src/live_effects/lpe-perspective_path.cpp:45
-#, fuzzy
-msgid "Offset y"
-msgstr "-"
-
-#: ../src/live_effects/lpe-perspective_path.cpp:45
-msgid "Offset in y direction"
-msgstr ""
-
-#: ../src/live_effects/lpe-perspective_path.cpp:46
-msgid "Uses XY plane?"
-msgstr ""
-
-#: ../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 ""
-
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-skeleton.cpp:33
-#, fuzzy
-msgid "Float parameter"
-msgstr "Прамакутнік"
-
-#: ../src/live_effects/lpe-skeleton.cpp:33
-msgid "just a real number like 1.4!"
-msgstr ""
+msgstr "Узор — вэртыкальны"
 
-#. 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 "Рысаваньне штрыхоўкі"
-
-#: ../src/live_effects/lpe-sketch.cpp:35
-msgid "Draw that many approximating strokes"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:36
-#, fuzzy
-msgid "Max stroke length"
-msgstr "Рысаваньне штрыхоўкі"
-
-#: ../src/live_effects/lpe-sketch.cpp:37
-msgid "Maximum length of approximating strokes"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:38
-#, fuzzy
-msgid "Stroke length variation"
-msgstr "Уласьцівасьці зоркі"
-
-#: ../src/live_effects/lpe-sketch.cpp:39
-msgid "Random variation of stroke length (relative to maximum length)"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:40
-msgid "Max. overlap"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:41
-msgid ""
-"How much successive strokes should overlap (relative to maximum length)."
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:42
-msgid "Overlap variation"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:43
-msgid "Random variation of overlap (relative to maximum overlap)"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:44
-msgid "Max. end tolerance"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:45
-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 "Адлюстраваць гарызантальна"
-
-#: ../src/live_effects/lpe-sketch.cpp:47
-msgid "Average distance from approximating path to original path"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:48
-msgid "Max. tremble"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:49
-msgid "Maximum tremble magnitude"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:50
-msgid "Tremble frequency"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:51
-msgid "Avreage number of tremble periods in an approximating stroke"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:52
-#, fuzzy
-msgid "Construction lines"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-sketch.cpp:53
-msgid "How many construction lines (tangents) to draw"
-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/ui/dialog/transformation.cpp:736
-msgid "Scale"
-msgstr "Маштаб"
-
-#: ../src/live_effects/lpe-sketch.cpp:55
-msgid ""
-"Scale factor relating curvature and length of construction lines (try "
-"5*offset)"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:56
-msgid "Max. length"
-msgstr ""
-
-#: ../src/live_effects/lpe-sketch.cpp:56
-msgid "Maximum length of construction lines"
-msgstr ""
+#: ../src/live_effects/lpe-slant.cpp:18
+msgid "Slant factor"
+msgstr "Множнік нахілу"
 
-#: ../src/live_effects/lpe-sketch.cpp:57
-#, fuzzy
-msgid "Length variation"
-msgstr "Насычанасьць:"
+#: ../src/live_effects/lpe-slant.cpp:18
+msgid "y = y + x*(slant factor)"
+msgstr "y = y + x*(множнік нахілу)"
 
-#: ../src/live_effects/lpe-sketch.cpp:57
-msgid "Random variation of the length of construction lines"
-msgstr ""
-
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:63
-#: ../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 ""
-
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:64
-msgid "Location along curve"
-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 ""
-
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:65
-msgid "Specifies the left end of the tangent"
-msgstr ""
-
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:66
-msgid "Specifies the right end of the tangent"
-msgstr ""
-
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:73
-msgid "Adjust the \"left\" end of the tangent"
-msgstr ""
-
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:74
-msgid "Adjust the \"right\" end of the tangent"
-msgstr ""
+#: ../src/live_effects/lpe-slant.cpp:19
+#: ../src/widgets/toolbox.cpp:4842
+msgid "Center"
+msgstr "Цэнтар"
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:75
-msgid "Adjust the point of attachment of the tangent"
+#: ../src/live_effects/lpe-slant.cpp:19
+msgid "The x-coord of this point is around which the slant will happen"
 msgstr ""
 
-#: ../src/live_effects/lpe-test-doEffect-stack.cpp:23
+#: ../src/live_effects/lpe-test-doEffect-stack.cpp:21
 #, fuzzy
 msgid "Stack step"
-msgstr "Зорка"
-
-#: ../src/live_effects/lpe-test-doEffect-stack.cpp:24
-#, fuzzy
-msgid "point param"
-msgstr "Стварыць лучыва"
-
-#: ../src/live_effects/lpe-vonkoch.cpp:42
-#, fuzzy
-msgid "Bounding box"
-msgstr "Раўнаць па кіруючых"
-
-#: ../src/live_effects/lpe-vonkoch.cpp:43
-#, fuzzy
-msgid "Last gen. segment"
-msgstr "Выдаліць вузел"
-
-#: ../src/live_effects/lpe-vonkoch.cpp:49
-msgid "Nb of generations"
-msgstr ""
-
-#: ../src/live_effects/lpe-vonkoch.cpp:49
-msgid "Depth of the recursion --- keep low!!"
-msgstr ""
-
-#: ../src/live_effects/lpe-vonkoch.cpp:50
-#, fuzzy
-msgid "Generating path"
-msgstr "Адасобіць"
-
-#: ../src/live_effects/lpe-vonkoch.cpp:50
-msgid "Path whos segments define the fractal"
-msgstr ""
-
-#: ../src/live_effects/lpe-vonkoch.cpp:51
-msgid "Draw all generations"
-msgstr ""
-
-#: ../src/live_effects/lpe-vonkoch.cpp:51
-msgid "If unchecked, draw only the last generation"
-msgstr ""
-
-#: ../src/live_effects/lpe-vonkoch.cpp:52
-#, fuzzy
-msgid "Reference"
-msgstr "Элемэнт зьяўляецца спасылкай"
-
-#: ../src/live_effects/lpe-vonkoch.cpp:52
-msgid ""
-"Generating path segments define transforms in reference to bbox or last "
-"segment"
-msgstr ""
-
-#: ../src/live_effects/lpe-vonkoch.cpp:53
-msgid "Max complexity"
-msgstr ""
-
-#: ../src/live_effects/lpe-vonkoch.cpp:53
-msgid "Disable effect if the output is too complex"
-msgstr ""
-
-#: ../src/live_effects/parameter/bool.cpp:69
-msgid "Change bool parameter"
-msgstr ""
-
-#: ../src/live_effects/parameter/enum.h:51
-#, fuzzy
-msgid "Change enumeration parameter"
-msgstr "Выдаляе трансфармаваньні"
+msgstr "%s у кроку `%s..%s'"
 
 #: ../src/live_effects/parameter/parameter.cpp:138
 #, fuzzy
 msgid "Change scalar parameter"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð»Ñ\8fÒ\91Ñ\96Ñ\87нÑ\8b Ð¿Ð°Ñ\80амÑ\8dÑ\82аÑ\80"
 
-#: ../src/live_effects/parameter/path.cpp:157
-#: ../src/live_effects/parameter/point.cpp:110
+#: ../src/live_effects/parameter/path.cpp:110
+#: ../src/live_effects/parameter/point.cpp:105
+#, fuzzy
 msgid "Edit on-canvas"
-msgstr ""
+msgstr "_Колер тла вакол палатна:"
 
-#: ../src/live_effects/parameter/path.cpp:167
-#, fuzzy
+#: ../src/live_effects/parameter/path.cpp:120
 msgid "Copy path"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\9aапÑ\96Ñ\8fваÑ\86Ñ\8c Ñ\88лÑ\8fÑ\85"
 
-#: ../src/live_effects/parameter/path.cpp:177
-#, fuzzy
+#: ../src/live_effects/parameter/path.cpp:130
 msgid "Paste path"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c Ñ\88лÑ\8fÑ\85"
 
-#: ../src/live_effects/parameter/path.cpp:187
-#, fuzzy
-msgid "Link to path"
-msgstr "Раўнаць па кіруючых"
+#: ../src/live_effects/parameter/path.cpp:188
+#: ../src/selection-chemistry.cpp:1313
+#: ../src/selection-chemistry.cpp:1367
+#: ../src/selection-chemistry.cpp:1403
+msgid "Nothing on the clipboard."
+msgstr "У буфэры абмену нічога няма."
 
-#: ../src/live_effects/parameter/path.cpp:363
-#, fuzzy
+#: ../src/live_effects/parameter/path.cpp:198
+msgid "This effect does not support arcs yet, try to convert to path."
+msgstr "Гэты эфэкт покуль не падтрымлівае дугаў, пастпрабуй ператварыць у шлях."
+
+#: ../src/live_effects/parameter/path.cpp:204
 msgid "Paste path parameter"
-msgstr "СÑ\82Ñ\8bлÑ\8c Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c Ð¿Ð°Ñ\80амÑ\8dÑ\82аÑ\80 Ñ\88лÑ\8fÑ\85Ñ\83"
 
-#: ../src/live_effects/parameter/path.cpp:395
-#, fuzzy
-msgid "Link path parameter to path"
-msgstr "Стыль штрыхоўкі"
+#: ../src/live_effects/parameter/path.cpp:208
+msgid "Clipboard does not contain a path."
+msgstr "Буфэр абмену ня ўтрымлівае шлях."
 
-#: ../src/live_effects/parameter/point.cpp:95
+#: ../src/live_effects/parameter/point.cpp:87
 #, fuzzy
 msgid "Change point parameter"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð»Ñ\8fÒ\91Ñ\96Ñ\87нÑ\8b Ð¿Ð°Ñ\80амÑ\8dÑ\82аÑ\80"
 
-#: ../src/live_effects/parameter/pointparam-knotholder.cpp:134
-#, fuzzy
-msgid "Change LPE point parameter"
-msgstr "Стварыць лучыва"
+#: ../src/live_effects/parameter/bool.cpp:71
+msgid "Change bool parameter"
+msgstr "Зьмяніць ляґічны парамэтар"
 
 #: ../src/live_effects/parameter/random.cpp:137
-#, fuzzy
 msgid "Change random parameter"
-msgstr "Выдаляе трансфармаваньні"
-
-#: ../src/main-cmdlineact.cpp:49
-#, c-format
-msgid "Unable to find verb ID '%s' specified on the command line.\n"
-msgstr ""
-
-#: ../src/main-cmdlineact.cpp:61
-#, c-format
-msgid "Unable to find node ID: '%s'\n"
-msgstr ""
+msgstr "Зьмяніць адвольны парамэтар"
 
 #: ../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)"
-msgstr "Не выкарыстоўваць паслужнік Х (толькі апрацоўваць файл з кансолі)"
+msgstr "Не выкарыстоўваць паслужнік Х (апрацоўваць файлы з кансолі)"
 
 #: ../src/main.cpp:228
-#, fuzzy
 msgid "Try to use X server (even if $DISPLAY is not set)"
-msgstr ""
-"Працягваць спрабаваць выкарыстоўваць паслужнік Х калі $DISPLAY не ўсталявана)"
+msgstr "Паспрабаваць выкарыстаць паслужнік Х (наваь калі $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 "Ð\9dазва Ñ\84айла"
+msgstr "Ð\9dÐ\90Ð\97Ð\92Ð\90 Ð¤Ð\90Ð\99Ð\9bÐ\90"
 
 #: ../src/main.cpp:238
 msgid "Print document(s) to specified output file (use '| program' for pipe)"
-msgstr ""
-"Друкуе дакумэнт(ы) у пазначаны выходны файл (выкарыстоўвайце '| праграма' "
-"для стварэньня канала)"
+msgstr "Друкуе дакумэнт(ы) у пазначаны выходны файл (выкарыстоўвай «| праграма» для стварэньня канала)"
 
 #: ../src/main.cpp:243
-#, fuzzy
 msgid "Export document to a PNG file"
-msgstr "Экспартаваць дакумэнт у файл png"
+msgstr "Экспартаваць дакумэнт у файл PNG"
 
 #: ../src/main.cpp:248
-#, fuzzy
 msgid "The resolution used for exporting SVG into bitmap (default 90)"
-msgstr "Разрозьненьне для канвэртацыі SVG у растар (дапомна 72,0)"
+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 "DPI"
 
 #: ../src/main.cpp:253
-#, fuzzy
-msgid ""
-"Exported area in SVG user units (default is the canvas; 0,0 is lower-left "
-"corner)"
-msgstr ""
-"Прастора экспартаваньня ў мілімэтрах (дапомна выбіраецца ўвесь дакумэнт, 0,0 "
-"- левы ніжні кут)"
+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"
@@ -6822,49 +5535,47 @@ 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
-#, fuzzy
 msgid "The width of exported bitmap in pixels (overrides export-dpi)"
-msgstr "Шырыня генераванага растра ў піксэлях (перазапіс dpi)"
+msgstr "Шырыня экспартаванага растра ў піксэлях (перавызначае export-dpi)"
 
 #: ../src/main.cpp:274
 msgid "WIDTH"
 msgstr "ШЫРЫНЯ"
 
 #: ../src/main.cpp:278
-#, fuzzy
 msgid "The height of exported bitmap in pixels (overrides export-dpi)"
-msgstr "Вышыня генераванага растра ў піксэлях (перазапіс dpi)"
+msgstr "Вышыня экспартаванага растра ў піксэлях (перавызначае export-dpi)"
 
 #: ../src/main.cpp:279
 msgid "HEIGHT"
 msgstr "ВЫШЫНЯ"
 
 #: ../src/main.cpp:283
+#, fuzzy
 msgid "The ID of the object to export"
-msgstr ""
+msgstr "Экспартаваць шлях у SVG"
 
-#: ../src/main.cpp:284 ../src/main.cpp:382
+#: ../src/main.cpp:284
+#: ../src/main.cpp:382
+#, fuzzy
 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)"
+msgid "Export just the object with export-id, hide all others (only with export-id)"
 msgstr ""
 
 #: ../src/main.cpp:295
@@ -6872,96 +5583,76 @@ msgid "Use stored filename and DPI hints when exporting (only with export-id)"
 msgstr ""
 
 #: ../src/main.cpp:300
-#, fuzzy
 msgid "Background color of exported bitmap (any SVG-supported color string)"
-msgstr ""
-"Колер тла экспартаванага растра (толькі радок колера, які падтрымлівае SVG)"
+msgstr "Колер асноведзі экспартаванага растра (любы радок колера, які падтрымлівае SVG)"
 
 #: ../src/main.cpp:301
 msgid "COLOR"
 msgstr "КОЛЕР"
 
 #: ../src/main.cpp:305
-#, fuzzy
 msgid "Background opacity of exported bitmap (either 0.0 to 1.0, or 1 to 255)"
-msgstr ""
-"Колер тла экспартаванага растра (толькі радок колера, які падтрымлівае SVG)"
+msgstr "Непразрыстасьць асноведзі экспартаванага растра (або 0.0 — 1.0, або 1 — 255)"
 
 #: ../src/main.cpp:306
 msgid "VALUE"
-msgstr ""
+msgstr "ЗНАЧЭНЬНЕ"
 
 #: ../src/main.cpp:310
-#, fuzzy
 msgid "Export document to plain SVG file (no sodipodi or inkscape namespaces)"
-msgstr ""
-"Экспартаваньне дакумэнта ў звычайны файл SVG (без прасторы імёнаў \"xmlns:"
-"sodipodi\")"
+msgstr "Экспартаваць дакумэнт ў просты файл SVG (без прастораў імёнаў sodipodi ці inkscape)"
 
 #: ../src/main.cpp:315
-#, fuzzy
 msgid "Export document to a PS file"
-msgstr "Экспартаваць дакумэнт у файл png"
+msgstr "Экспартаваць дакумэнт у файл PS"
 
 #: ../src/main.cpp:320
-#, fuzzy
 msgid "Export document to an EPS file"
-msgstr "Экспартаваць дакумэнт у файл png"
+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
-#, fuzzy
 msgid "Convert text object to paths on export (EPS)"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80аÑ\86Ñ\8c Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\8f Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ñ\9e Ñ\88лÑ\8fÑ\85Ñ\96 Ð¿Ñ\80Ñ\8b Ñ\8dкÑ\81паÑ\80Ñ\82аванÑ\8cнÑ\96 (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 рысунка ці, калі вызначаны, абʼекта з --query-id"
 
 #. 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 рысунка ці, калі вызначаны, абʼекта з --query-id"
 
 #. 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 "Запытаць шырыню рысунка ці, калі вызначаны, абʼекта з --query-id"
 
 #. 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 "Запытаць вышыню рысунка ці, калі вызначаны, абʼекта з --query-id"
 
 #: ../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"
@@ -6970,11 +5661,11 @@ msgstr ""
 #. 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 "Прыбраць неўжываныя азначэньні з сэкцыі defs дакумэнта"
 
 #: ../src/main.cpp:397
 msgid "List the IDs of all the verbs in Inkscape"
@@ -6982,623 +5673,574 @@ msgstr ""
 
 #: ../src/main.cpp:402
 msgid "Verb to call when Inkscape opens."
-msgstr ""
+msgstr "Якое дзеяньне выканаць, калі Inkscape адкрыецца."
 
 #: ../src/main.cpp:403
+#, fuzzy
 msgid "VERB-ID"
 msgstr ""
+"\n"
+"  Id выклікальніка:\t"
 
 #: ../src/main.cpp:407
 msgid "Object ID to select when Inkscape opens."
 msgstr ""
 
 #: ../src/main.cpp:408
+#, fuzzy
 msgid "OBJECT-ID"
-msgstr ""
+msgstr "Задаць вызначнік абʼекта"
 
-#: ../src/main.cpp:687
+#: ../src/main.cpp:611
 msgid ""
 "[OPTIONS...] [FILE...]\n"
 "\n"
 "Available options:"
 msgstr ""
+"[ВЫБОРЫ…] [ФАЙЛ…]\n"
+"\n"
+"Наяўныя выборы:"
+
+#: ../src/main-cmdlineact.cpp:49
+#, c-format
+msgid "Unable to find verb ID '%s' specified on the command line.\n"
+msgstr ""
+
+#: ../src/main-cmdlineact.cpp:61
+#, c-format
+msgid "Unable to find node ID: '%s'\n"
+msgstr ""
 
 #: ../src/menus-skeleton.h:17
-#, fuzzy
 msgid "_New"
-msgstr "Стварыць"
+msgstr "_Стварыць"
 
 #: ../src/menus-skeleton.h:22
 msgid "Open _Recent"
-msgstr ""
+msgstr "Адкрыць _ранейшы"
 
-#: ../src/menus-skeleton.h:50 ../src/verbs.cpp:2403 ../src/verbs.cpp:2409
-#, fuzzy
+#: ../src/menus-skeleton.h:49
 msgid "_Edit"
-msgstr "Рэдагаваньне"
+msgstr "_Праца"
 
-#: ../src/menus-skeleton.h:60 ../src/verbs.cpp:2205
-#, fuzzy
+#: ../src/menus-skeleton.h:60
+#: ../src/verbs.cpp:2174
 msgid "Paste Si_ze"
-msgstr "Ð\9fамеÑ\80 Ð¿Ð°Ð¿ÐµÑ\80Ñ\8b:"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c _памеÑ\80"
 
 #: ../src/menus-skeleton.h:72
-#, fuzzy
 msgid "Clo_ne"
-msgstr "Закрыць"
+msgstr "_Клон"
 
-#: ../src/menus-skeleton.h:91
-#, fuzzy
+#: ../src/menus-skeleton.h:89
 msgid "_View"
-msgstr "Выгляд"
+msgstr "_Від"
 
-#: ../src/menus-skeleton.h:92
-#, fuzzy
+#: ../src/menus-skeleton.h:90
 msgid "_Zoom"
-msgstr "Маштабаваньне"
+msgstr "_Маштаб"
 
-#: ../src/menus-skeleton.h:108
-#, fuzzy
+#: ../src/menus-skeleton.h:106
 msgid "_Display mode"
-msgstr "Дысплэй"
+msgstr "_Рэжым паказу"
 
-#: ../src/menus-skeleton.h:120
-#, fuzzy
+#: ../src/menus-skeleton.h:117
 msgid "Show/Hide"
-msgstr "Ð\9fаказаÑ\86Ñ\8c ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\8f"
+msgstr "СÑ\85аваÑ\86Ñ\8c/паказаÑ\86Ñ\8c"
 
-#: ../src/menus-skeleton.h:137
+#: ../src/menus-skeleton.h:134
 msgid "_Layer"
-msgstr ""
+msgstr "П_ласт"
 
-#: ../src/menus-skeleton.h:156
-#, fuzzy
+#: ../src/menus-skeleton.h:153
 msgid "_Object"
-msgstr "Аб'ект"
+msgstr "_Абʼект"
 
-#: ../src/menus-skeleton.h:166
+#: ../src/menus-skeleton.h:161
 msgid "Cli_p"
-msgstr ""
+msgstr "_Абразаньне"
 
-#: ../src/menus-skeleton.h:170
-#, fuzzy
+#: ../src/menus-skeleton.h:165
 msgid "Mas_k"
-msgstr "Маса:"
+msgstr "_Маска"
 
-#: ../src/menus-skeleton.h:174
-#, fuzzy
+#: ../src/menus-skeleton.h:169
 msgid "Patter_n"
-msgstr "Узор:"
+msgstr "_Узор"
 
-#: ../src/menus-skeleton.h:198
-#, fuzzy
+#: ../src/menus-skeleton.h:193
 msgid "_Path"
-msgstr "Уставіць"
-
-#: ../src/menus-skeleton.h:221
-#, fuzzy
-msgid "Path Effects"
-msgstr "Стыль штрыхоўкі"
+msgstr "_Шлях"
 
-#: ../src/menus-skeleton.h:227
-#, fuzzy
+#: ../src/menus-skeleton.h:218
 msgid "_Text"
-msgstr "Тэкст"
+msgstr "_Тэкст"
 
-#: ../src/menus-skeleton.h:239
+#: ../src/menus-skeleton.h:230
 msgid "Effe_cts"
-msgstr ""
+msgstr "_Эфэкты"
 
-#: ../src/menus-skeleton.h:246
+#: ../src/menus-skeleton.h:237
 msgid "Whiteboa_rd"
-msgstr ""
+msgstr "_Супраца"
 
-#: ../src/menus-skeleton.h:250
+#: ../src/menus-skeleton.h:241
 msgid "_Help"
-msgstr ""
+msgstr "_Дапамога"
 
-#: ../src/menus-skeleton.h:254
+#: ../src/menus-skeleton.h:245
 msgid "Tutorials"
-msgstr ""
+msgstr "Падручнікі"
 
-#: ../src/node-context.cpp:255
-msgid ""
-"<b>Ctrl</b>: toggle node type, snap handle angle, move hor/vert; <b>Ctrl"
-"+Alt</b>: move along handles"
+#: ../src/node-context.cpp:187
+msgid "<b>Ctrl</b>: toggle node type, snap handle angle, move hor/vert; <b>Ctrl+Alt</b>: move along handles"
 msgstr ""
 
-#: ../src/node-context.cpp:256
-msgid ""
-"<b>Shift</b>: toggle node selection, disable snapping, rotate both handles"
+#: ../src/node-context.cpp:188
+msgid "<b>Shift</b>: toggle node selection, disable snapping, rotate both handles"
 msgstr ""
 
-#: ../src/node-context.cpp:257
+#: ../src/node-context.cpp:189
 msgid "<b>Alt</b>: lock handle length; <b>Ctrl+Alt</b>: move along handles"
 msgstr ""
 
-#: ../src/nodepath.cpp:651 ../src/seltrans.cpp:547
-#, fuzzy
+#: ../src/nodepath.cpp:644
+#: ../src/seltrans.cpp:522
 msgid "Stamp"
-msgstr "Ð\97оÑ\80ка"
+msgstr "ШÑ\82амп"
 
-#: ../src/nodepath.cpp:1486 ../src/nodepath.cpp:1513
-#, fuzzy
+#: ../src/nodepath.cpp:1342
+#: ../src/nodepath.cpp:1369
 msgid "Move nodes vertically"
-msgstr "ЦÑ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c па вэртыкалі"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ð²Ñ\83злÑ\8b па вэртыкалі"
 
-#: ../src/nodepath.cpp:1488 ../src/nodepath.cpp:1515
-#, fuzzy
+#: ../src/nodepath.cpp:1344
+#: ../src/nodepath.cpp:1371
 msgid "Move nodes horizontally"
-msgstr "ЦÑ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c па гарызанталі"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ð²Ñ\83злÑ\8b па гарызанталі"
 
-#: ../src/nodepath.cpp:1490 ../src/nodepath.cpp:1517 ../src/nodepath.cpp:1532
-#: ../src/nodepath.cpp:3359
-#, fuzzy
+#: ../src/nodepath.cpp:1346
+#: ../src/nodepath.cpp:1373
+#: ../src/nodepath.cpp:1388
+#: ../src/nodepath.cpp:3208
 msgid "Move nodes"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ð²Ñ\83злÑ\8b"
 
-#: ../src/nodepath.cpp:1570
-msgid ""
-"<b>Node handle</b>: drag to shape the curve; with <b>Ctrl</b> to snap angle; "
-"with <b>Alt</b> to lock length; with <b>Shift</b> to rotate both handles"
+#: ../src/nodepath.cpp:1426
+msgid "<b>Node handle</b>: drag to shape the curve; with <b>Ctrl</b> to snap angle; with <b>Alt</b> to lock length; with <b>Shift</b> to rotate both handles"
 msgstr ""
 
-#: ../src/nodepath.cpp:1740
-#, fuzzy
+#: ../src/nodepath.cpp:1596
 msgid "Align nodes"
-msgstr "РаÑ\9eнае Ð°Ð±'екÑ\82ы"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð²Ñ\83злы"
 
-#: ../src/nodepath.cpp:1802
-#, fuzzy
+#: ../src/nodepath.cpp:1658
 msgid "Distribute nodes"
-msgstr "Ð\9fÑ\80адаÑ\81Ñ\82аÑ\9eленÑ\8cне"
+msgstr "РазÑ\8cмеÑ\80каваÑ\86Ñ\8c Ð²Ñ\83злÑ\8b"
 
-#: ../src/nodepath.cpp:1840
-#, fuzzy
+#: ../src/nodepath.cpp:1696
 msgid "Add nodes"
-msgstr "Дадаць водступ вузла"
+msgstr "Дадаць вузлы"
 
-#: ../src/nodepath.cpp:1842 ../src/nodepath.cpp:1914
-#, fuzzy
+#: ../src/nodepath.cpp:1698
+#: ../src/nodepath.cpp:1770
 msgid "Add node"
-msgstr "Дадаць водступ вузла"
+msgstr "Дадаць вузел"
 
-#: ../src/nodepath.cpp:1995
-#, fuzzy
+#: ../src/nodepath.cpp:1851
 msgid "Break path"
-msgstr "Ð\90даÑ\81обÑ\96Ñ\86Ñ\8c"
+msgstr "РазÑ\8cбÑ\96Ñ\86Ñ\8c Ñ\88лÑ\8fÑ\85"
 
-#: ../src/nodepath.cpp:2051
-msgid "Close subpath"
+#: ../src/nodepath.cpp:1891
+#: ../src/nodepath.cpp:1906
+#: ../src/nodepath.cpp:1992
+#: ../src/nodepath.cpp:2007
+msgid "To join, you must have <b>two endnodes</b> selected."
 msgstr ""
 
-#: ../src/nodepath.cpp:2112
-#, fuzzy
+#: ../src/nodepath.cpp:1927
+msgid "Close subpath"
+msgstr "Закрыць падшлях"
+
+#: ../src/nodepath.cpp:1979
 msgid "Join nodes"
-msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð²Ð¾Ð´Ñ\81Ñ\82Ñ\83п Ð²Ñ\83зла"
+msgstr "Ð\97лÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c Ð²Ñ\83злÑ\8b"
 
-#: ../src/nodepath.cpp:2139
+#: ../src/nodepath.cpp:2028
 msgid "Close subpath by segment"
-msgstr ""
+msgstr "Закрыць падшляхі адрэзкам"
 
-#: ../src/nodepath.cpp:2193
+#: ../src/nodepath.cpp:2082
 msgid "Join nodes by segment"
-msgstr ""
-
-#: ../src/nodepath.cpp:2206 ../src/nodepath.cpp:2221
-msgid "To join, you must have <b>two endnodes</b> selected."
-msgstr ""
+msgstr "Злучыць вузлы адрэзкам"
 
-#: ../src/nodepath.cpp:2378 ../src/nodepath.cpp:2414 ../src/nodepath.cpp:2418
-#, fuzzy
+#: ../src/nodepath.cpp:2210
+#: ../src/nodepath.cpp:2246
+#: ../src/nodepath.cpp:2250
 msgid "Delete nodes"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83злÑ\8b"
 
-#: ../src/nodepath.cpp:2380
+#: ../src/nodepath.cpp:2212
 msgid "Delete nodes preserving shape"
-msgstr ""
+msgstr "Выдаліць вузлы, зьберагаючы форму"
 
-#: ../src/nodepath.cpp:2437 ../src/nodepath.cpp:2451
-msgid ""
-"Select <b>two non-endpoint nodes</b> on a path between which to delete "
-"segments."
+#: ../src/nodepath.cpp:2269
+#: ../src/nodepath.cpp:2283
+msgid "Select <b>two non-endpoint nodes</b> on a path between which to delete segments."
 msgstr ""
 
-#: ../src/nodepath.cpp:2547
+#: ../src/nodepath.cpp:2379
 msgid "Cannot find path between nodes."
-msgstr ""
+msgstr "Немагчыма адшукаць шлях між вузламі."
 
-#: ../src/nodepath.cpp:2579 ../src/widgets/toolbox.cpp:1129
-#, fuzzy
+#: ../src/nodepath.cpp:2411
 msgid "Delete segment"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð°Ð´Ñ\80Ñ\8dзак"
 
-#: ../src/nodepath.cpp:2600
+#: ../src/nodepath.cpp:2432
 msgid "Change segment type"
-msgstr ""
+msgstr "Зьмяніць тып адрэзка"
 
-#: ../src/nodepath.cpp:2617 ../src/nodepath.cpp:3317
+#: ../src/nodepath.cpp:2449
+#: ../src/nodepath.cpp:3166
 msgid "Change node type"
-msgstr ""
+msgstr "Зьмяніць тып вузла"
 
-#: ../src/nodepath.cpp:3605
+#: ../src/nodepath.cpp:3443
 #, fuzzy
 msgid "Retract handle"
-msgstr "Ð\9fÑ\80амакÑ\83Ñ\82нÑ\96к"
+msgstr "ЦÑ\8fгнÑ\96 Ñ\80Ñ\83Ñ\87кÑ\83"
 
-#: ../src/nodepath.cpp:3654
+#: ../src/nodepath.cpp:3492
+#, fuzzy
 msgid "Move node handle"
-msgstr ""
+msgstr "Пасунуць ручку ґрадыента"
 
-#: ../src/nodepath.cpp:3823
+#: ../src/nodepath.cpp:3632
 #, c-format
-msgid ""
-"<b>Node handle</b>: angle %0.2f&#176;, length %s; with <b>Ctrl</b> to snap "
-"angle; with <b>Alt</b> to lock length; with <b>Shift</b> to rotate both "
-"handles"
+msgid "<b>Node handle</b>: angle %0.2f&#176;, length %s; with <b>Ctrl</b> to snap angle; with <b>Alt</b> to lock length; with <b>Shift</b> to rotate both handles"
 msgstr ""
 
-#: ../src/nodepath.cpp:4017
-#, fuzzy
+#: ../src/nodepath.cpp:3826
 msgid "Rotate nodes"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fавеÑ\80нÑ\83Ñ\86Ñ\8c Ð²Ñ\83злÑ\8b"
 
-#: ../src/nodepath.cpp:4148
+#: ../src/nodepath.cpp:3957
 #, fuzzy
 msgid "Scale nodes"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\94адаÑ\86Ñ\8c Ð²Ñ\83злÑ\8b"
 
-#: ../src/nodepath.cpp:4192
-#, fuzzy
+#: ../src/nodepath.cpp:4001
 msgid "Flip nodes"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fеÑ\80акÑ\83лÑ\96Ñ\86Ñ\8c Ð²Ñ\83злÑ\8b"
 
-#: ../src/nodepath.cpp:4361
-msgid ""
-"<b>Node</b>: drag to edit the path; with <b>Ctrl</b> to snap to horizontal/"
-"vertical; with <b>Ctrl+Alt</b> to snap to handles' directions"
+#: ../src/nodepath.cpp:4170
+msgid "<b>Node</b>: drag to edit the path; with <b>Ctrl</b> to snap to horizontal/vertical; with <b>Ctrl+Alt</b> to snap to handles' directions"
 msgstr ""
 
 #. TRANSLATORS: "end" is an adjective here (NOT a verb)
-#: ../src/nodepath.cpp:4587
-#, fuzzy
+#: ../src/nodepath.cpp:4396
 msgid "end node"
-msgstr "Ð\94адаÑ\86Ñ\8c Ð²Ð¾Ð´Ñ\81Ñ\82Ñ\83п Ð²Ñ\83зла"
+msgstr "канÑ\86авÑ\8b Ð²Ñ\83зел"
 
 #. TRANSLATORS: "cusp" means "sharp" (cusp node); see also the Advanced Tutorial
-#: ../src/nodepath.cpp:4592
+#: ../src/nodepath.cpp:4401
 msgid "cusp"
-msgstr ""
+msgstr "востраканцовы"
 
 #. TRANSLATORS: "smooth" is an adjective here
-#: ../src/nodepath.cpp:4595
+#: ../src/nodepath.cpp:4404
 msgid "smooth"
-msgstr ""
+msgstr "змазаны"
 
-#: ../src/nodepath.cpp:4597
+#: ../src/nodepath.cpp:4406
 msgid "symmetric"
-msgstr ""
+msgstr "сымэтрычны"
 
 #. TRANSLATORS: "end" is an adjective here (NOT a verb)
-#: ../src/nodepath.cpp:4603
+#: ../src/nodepath.cpp:4412
 msgid "end node, handle retracted (drag with <b>Shift</b> to extend)"
 msgstr ""
 
-#: ../src/nodepath.cpp:4605
+#: ../src/nodepath.cpp:4414
 msgid "one handle retracted (drag with <b>Shift</b> to extend)"
 msgstr ""
 
-#: ../src/nodepath.cpp:4608
+#: ../src/nodepath.cpp:4417
 msgid "both handles retracted (drag with <b>Shift</b> to extend)"
 msgstr ""
 
-#: ../src/nodepath.cpp:4620
-msgid ""
-"<b>Drag</b> nodes or node handles; <b>Alt+drag</b> nodes to sculpt; "
-"<b>arrow</b> keys to move nodes, <b>&lt; &gt;</b> to scale, <b>[ ]</b> to "
-"rotate"
+#: ../src/nodepath.cpp:4429
+msgid "<b>Drag</b> nodes or node handles; <b>Alt+drag</b> nodes to sculpt; <b>arrow</b> keys to move nodes, <b>&lt; &gt;</b> to scale, <b>[ ]</b> to rotate"
 msgstr ""
 
-#: ../src/nodepath.cpp:4621
+#: ../src/nodepath.cpp:4430
 msgid "<b>Drag</b> the node or its handles; <b>arrow</b> keys to move the node"
 msgstr ""
 
-#: ../src/nodepath.cpp:4646 ../src/nodepath.cpp:4658
+#: ../src/nodepath.cpp:4455
+#: ../src/nodepath.cpp:4467
 msgid "Select a single object to edit its nodes or handles."
-msgstr ""
+msgstr "Вылучы адзін абʼект, каб правіць ягоныя вузлы ці ручкі."
 
-#: ../src/nodepath.cpp:4650
+#: ../src/nodepath.cpp:4459
 #, c-format
-msgid ""
-"<b>0</b> out of <b>%i</b> node selected. <b>Click</b>, <b>Shift+click</b>, "
-"or <b>drag around</b> nodes to select."
-msgid_plural ""
-"<b>0</b> out of <b>%i</b> nodes selected. <b>Click</b>, <b>Shift+click</b>, "
-"or <b>drag around</b> nodes to select."
-msgstr[0] ""
-msgstr[1] ""
+msgid "<b>0</b> out of <b>%i</b> node selected. <b>Click</b>, <b>Shift+click</b>, or <b>drag around</b> nodes to select."
+msgid_plural "<b>0</b> out of <b>%i</b> nodes selected. <b>Click</b>, <b>Shift+click</b>, or <b>drag around</b> nodes to select."
+msgstr[0] "<b>0</b> з <b>%i</b> вузла вылучана. <b>Пстрыкні</b>, <b>Shift+Пстрыкні</b>, ці <b>пацягні вакол</b> вузлоў, каб вылучыць."
+msgstr[1] "<b>0</b> з <b>%i</b> вузлоў вылучана. <b>Пстрыкні</b>, <b>Shift+Пстрыкні</b>, ці <b>пацягні вакол</b> вузлоў, каб вылучыць."
+msgstr[2] "<b>0</b> з <b>%i</b> вузлоў вылучана. <b>Пстрыкні</b>, <b>Shift+Пстрыкні</b>, ці <b>пацягні вакол</b> вузлоў, каб вылучыць."
 
-#: ../src/nodepath.cpp:4656
+#: ../src/nodepath.cpp:4465
 msgid "Drag the handles of the object to modify it."
-msgstr ""
+msgstr "Пацягні за ручкі абʼекта, каб зьмяніць яго."
 
-#: ../src/nodepath.cpp:4664
+#: ../src/nodepath.cpp:4473
 #, c-format
 msgid "<b>%i</b> of <b>%i</b> node selected; %s. %s."
 msgid_plural "<b>%i</b> of <b>%i</b> nodes selected; %s. %s."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Вылучана: <b>%i</b> з <b>%i</b> вузла; %s. %s."
+msgstr[1] "Вылучана: <b>%i</b> з <b>%i</b> вузлоў; %s. %s."
+msgstr[2] "Вылучана: <b>%i</b> з <b>%i</b> вузлоў; %s. %s."
 
-#: ../src/nodepath.cpp:4671
+#: ../src/nodepath.cpp:4480
 #, c-format
-msgid ""
-"<b>%i</b> of <b>%i</b> node selected in <b>%i</b> of <b>%i</b> subpaths. %s."
-msgid_plural ""
-"<b>%i</b> of <b>%i</b> nodes selected in <b>%i</b> of <b>%i</b> subpaths. %s."
-msgstr[0] ""
-msgstr[1] ""
+msgid "<b>%i</b> of <b>%i</b> node selected in <b>%i</b> of <b>%i</b> subpaths. %s."
+msgid_plural "<b>%i</b> of <b>%i</b> nodes selected in <b>%i</b> of <b>%i</b> subpaths. %s."
+msgstr[0] "<b>%i</b> з <b>%i</b> вузла вылучана ў <b>%i</b> з <b>%i</b> падшляхоў. %s."
+msgstr[1] "<b>%i</b> з <b>%i</b> вузлоў вылучана ў <b>%i</b> з <b>%i</b> падшляхоў. %s."
+msgstr[2] "<b>%i</b> з <b>%i</b> вузлоў вылучана ў <b>%i</b> з <b>%i</b> падшляхоў. %s."
 
-#: ../src/nodepath.cpp:4677
+#: ../src/nodepath.cpp:4486
 #, c-format
 msgid "<b>%i</b> of <b>%i</b> node selected. %s."
 msgid_plural "<b>%i</b> of <b>%i</b> nodes selected. %s."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Вылучана: <b>%i</b> з <b>%i</b> вузла. %s."
+msgstr[1] "Вылучана: <b>%i</b> з <b>%i</b> вузлоў. %s."
+msgstr[2] "Вылучана: <b>%i</b> з <b>%i</b> вузлоў. %s."
 
-#: ../src/object-edit.cpp:420
-msgid ""
-"Adjust the <b>horizontal rounding</b> radius; with <b>Ctrl</b> to make the "
-"vertical radius the same"
-msgstr ""
+#: ../src/object-edit.cpp:501
+msgid "Adjust the <b>horizontal rounding</b> radius; with <b>Ctrl</b> to make the vertical radius the same"
+msgstr "Паправіць радыюс <b>скругленьня па гарызанталі</b>, з <b>Ctrl</b> зрабіць радыюс па вэртыкалі такім самым"
 
-#: ../src/object-edit.cpp:424
-msgid ""
-"Adjust the <b>vertical rounding</b> radius; with <b>Ctrl</b> to make the "
-"horizontal radius the same"
-msgstr ""
+#: ../src/object-edit.cpp:507
+msgid "Adjust the <b>vertical rounding</b> radius; with <b>Ctrl</b> to make the horizontal radius the same"
+msgstr "Паправіць радыюс <b>скругленьня па вэртыкалі</b>, з <b>Ctrl</b> зрабіць радыюс па гарызанталі такім самым"
 
-#: ../src/object-edit.cpp:428 ../src/object-edit.cpp:432
-msgid ""
-"Adjust the <b>width and height</b> of the rectangle; with <b>Ctrl</b>to lock "
-"ratio or stretch in one dimension only"
+#: ../src/object-edit.cpp:514
+#: ../src/object-edit.cpp:521
+msgid "Adjust the <b>width and height</b> of the rectangle; with <b>Ctrl</b> to 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 <b>Shift</b> along the Z axis; with "
-"<b>Ctrl</b> to constrain to the directions of edges or diagonals"
+#: ../src/object-edit.cpp:713
+#: ../src/object-edit.cpp:715
+#: ../src/object-edit.cpp:717
+#: ../src/object-edit.cpp:719
+msgid "Resize box in X/Y direction; with <b>Shift</b> along the Z axis; with <b>Ctrl</b> 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 <b>Shift</b> in X/Y direction; with "
-"<b>Ctrl</b> to constrain to the directions of edges or diagonals"
+#: ../src/object-edit.cpp:721
+#: ../src/object-edit.cpp:723
+#: ../src/object-edit.cpp:725
+#: ../src/object-edit.cpp:727
+msgid "Resize box along the Z axis; with <b>Shift</b> in X/Y direction; with <b>Ctrl</b> to constrain to the directions of edges or diagonals"
 msgstr ""
 
-#: ../src/object-edit.cpp:690
+#: ../src/object-edit.cpp:731
 msgid "Move the box in perspective"
-msgstr ""
+msgstr "Пасунуць скрыню ў пэрспэктыве"
 
-#: ../src/object-edit.cpp:908
+#: ../src/object-edit.cpp:909
 msgid "Adjust ellipse <b>width</b>, with <b>Ctrl</b> to make circle"
-msgstr ""
+msgstr "Зьмяніць <b>шырыню</b> эліпса, з <b>Ctrl</b> зрабіць акружнасьцю"
 
-#: ../src/object-edit.cpp:911
+#: ../src/object-edit.cpp:912
 msgid "Adjust ellipse <b>height</b>, with <b>Ctrl</b> to make circle"
-msgstr ""
+msgstr "Зьмяніць <b>вышыню</b> эліпса, з <b>Ctrl</b> зрабіць акружнасьцю"
 
-#: ../src/object-edit.cpp:914
-msgid ""
-"Position the <b>start point</b> of the arc or segment; with <b>Ctrl</b>to "
-"snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for "
-"segment"
+#: ../src/object-edit.cpp:915
+msgid "Position the <b>start point</b> of the arc or segment; with <b>Ctrl</b> to snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for segment"
 msgstr ""
 
 #: ../src/object-edit.cpp:918
-msgid ""
-"Position the <b>end point</b> of the arc or segment; with <b>Ctrl</b> to "
-"snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for "
-"segment"
+msgid "Position the <b>end point</b> of the arc or segment; with <b>Ctrl</b> to snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for segment"
 msgstr ""
 
-#: ../src/object-edit.cpp:1057
-msgid ""
-"Adjust the <b>tip radius</b> of the star or polygon; with <b>Shift</b> to "
-"round; with <b>Alt</b> to randomize"
+#: ../src/object-edit.cpp:1028
+msgid "Adjust the <b>tip radius</b> of the star or polygon; with <b>Shift</b> to round; with <b>Alt</b> to randomize"
 msgstr ""
 
-#: ../src/object-edit.cpp:1064
-msgid ""
-"Adjust the <b>base radius</b> of the star; with <b>Ctrl</b> to keep star "
-"rays radial (no skew); with <b>Shift</b> to round; with <b>Alt</b> to "
-"randomize"
+#: ../src/object-edit.cpp:1031
+msgid "Adjust the <b>base radius</b> of the star; with <b>Ctrl</b> to keep star rays radial (no skew); with <b>Shift</b> to round; with <b>Alt</b> to randomize"
 msgstr ""
 
-#: ../src/object-edit.cpp:1245
-msgid ""
-"Roll/unroll the spiral from <b>inside</b>; with <b>Ctrl</b> to snap angle; "
-"with <b>Alt</b> to converge/diverge"
+#: ../src/object-edit.cpp:1195
+msgid "Roll/unroll the spiral from <b>inside</b>; with <b>Ctrl</b> to snap angle; with <b>Alt</b> to converge/diverge"
 msgstr ""
 
-#: ../src/object-edit.cpp:1248
-msgid ""
-"Roll/unroll the spiral from <b>outside</b>; with <b>Ctrl</b> to snap angle; "
-"with <b>Shift</b> to scale/rotate"
+#: ../src/object-edit.cpp:1197
+msgid "Roll/unroll the spiral from <b>outside</b>; with <b>Ctrl</b> to snap angle; with <b>Shift</b> to scale/rotate"
 msgstr ""
 
-#: ../src/object-edit.cpp:1292
+#: ../src/object-edit.cpp:1234
 msgid "Adjust the <b>offset distance</b>"
-msgstr ""
+msgstr "Скарэктаваць <b>адлегласьць зрушэньня</b>"
+
+#. TRANSLATORS: This refers to the pattern that's inside the object
+#: ../src/object-edit.cpp:1264
+msgid "<b>Move</b> the pattern fill inside the object"
+msgstr "<b>Пасунуць</b> узор запаўненьня, які ўнутры аб'екта."
+
+#: ../src/object-edit.cpp:1266
+#, fuzzy
+msgid "<b>Scale</b> the pattern fill uniformly"
+msgstr "Запоўніць асноведзь узорам"
 
-#: ../src/object-edit.cpp:1327
+#: ../src/object-edit.cpp:1268
+msgid "<b>Rotate</b> the pattern fill; with <b>Ctrl</b> to snap angle"
+msgstr "<b>Павернуць</b> запаўненьне ўзорам; з <b>Ctrl</b> абмежаваць вугал"
+
+#: ../src/object-edit.cpp:1293
 msgid "Drag to resize the <b>flowed text frame</b>"
 msgstr ""
 
-#: ../src/path-chemistry.cpp:63
+#: ../src/path-chemistry.cpp:61
 msgid "Select <b>at least two objects</b> to combine."
-msgstr ""
+msgstr "Для спалучэньня патрэбна выбраць <b>прынамсі два абʼекты</b>."
 
-#: ../src/path-chemistry.cpp:67
-#, fuzzy
+#: ../src/path-chemistry.cpp:68
+msgid "At least one of the objects is <b>not a path</b>, cannot combine."
+msgstr "Прынамсі адзін абʼект <b>не зьяўляецца шляхам</b>, немагчыма спалучыць."
+
+#: ../src/path-chemistry.cpp:76
+msgid "You cannot combine objects from <b>different groups</b> or <b>layers</b>."
+msgstr "Немагчыма спалучаць абʼекты з <b>розных ґруп</b> ці <b>пластоў</b>."
+
+#: ../src/path-chemistry.cpp:81
 msgid "Combining paths..."
-msgstr "Ð\9aамбÑ\96нÑ\83е Ñ\88маÑ\82 Ñ\88лÑ\8fÑ\85оÑ\9e"
+msgstr "СпалÑ\83Ñ\87Ñ\8dнÑ\8cне Ñ\88лÑ\8fÑ\85оÑ\9eâ\80¦"
 
-#: ../src/path-chemistry.cpp:169
+#: ../src/path-chemistry.cpp:149
 msgid "Combine"
-msgstr "Камбінаваць"
-
-#: ../src/path-chemistry.cpp:176
-#, fuzzy
-msgid "<b>No path(s)</b> to combine in the selection."
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
+msgstr "Спалучыць"
 
-#: ../src/path-chemistry.cpp:190
+#: ../src/path-chemistry.cpp:164
 msgid "Select <b>path(s)</b> to break apart."
-msgstr ""
+msgstr "Вылучы <b>шлях(і)</b>, які(я) трэба разьбіць."
 
-#: ../src/path-chemistry.cpp:194
-#, fuzzy
+#: ../src/path-chemistry.cpp:168
 msgid "Breaking apart paths..."
-msgstr "Ð\90даÑ\81обÑ\96Ñ\86Ñ\8c"
+msgstr "РазÑ\8cбÑ\96Ñ\86Ñ\8cÑ\86Ñ\91 Ñ\88лÑ\8fÑ\85оÑ\9eâ\80¦"
 
-#: ../src/path-chemistry.cpp:280
-#, fuzzy
+#: ../src/path-chemistry.cpp:249
 msgid "Break apart"
-msgstr "Ð\90даÑ\81обіць"
+msgstr "РазÑ\8cбіць"
 
-#: ../src/path-chemistry.cpp:282
+#: ../src/path-chemistry.cpp:251
 msgid "<b>No path(s)</b> to break apart in the selection."
-msgstr ""
+msgstr "Вылучэньне <b>ня мае шляхоў</b>, якія можна разьбіць."
 
-#: ../src/path-chemistry.cpp:306
+#: ../src/path-chemistry.cpp:272
 msgid "Select <b>object(s)</b> to convert to path."
-msgstr ""
+msgstr "Вылучы <b>абʼект(ы)</b>, які(я) ператварыць у шлях."
 
-#: ../src/path-chemistry.cpp:312
-#, fuzzy
+#: ../src/path-chemistry.cpp:278
 msgid "Converting objects to paths..."
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e Ñ\83 Ñ\88лÑ\8fÑ\85Ñ\96â\80¦"
 
-#: ../src/path-chemistry.cpp:334
-#, fuzzy
+#: ../src/path-chemistry.cpp:351
 msgid "Object to path"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð°Ð±'екÑ\82а"
+msgstr "Ð\90бʼекÑ\82 Ñ\83 Ñ\88лÑ\8fÑ\85"
 
-#: ../src/path-chemistry.cpp:336
+#: ../src/path-chemistry.cpp:353
 msgid "<b>No objects</b> to convert to path in the selection."
-msgstr ""
+msgstr "Вылучэньне <b>ня мае абʼектаў</b>, каб ператварыць іх у шлях."
 
-#: ../src/path-chemistry.cpp:487
+#: ../src/path-chemistry.cpp:418
 msgid "Select <b>path(s)</b> to reverse."
-msgstr ""
+msgstr "Вылучы <b>шлях(і)</b> для разварочваньня."
 
-#: ../src/path-chemistry.cpp:496
-#, fuzzy
+#: ../src/path-chemistry.cpp:427
 msgid "Reversing paths..."
-msgstr "Ð\90даÑ\81обÑ\96Ñ\86Ñ\8c"
+msgstr "РазваÑ\80оÑ\87ванÑ\8cне Ñ\88лÑ\8fÑ\85оÑ\9eâ\80¦"
 
-#: ../src/path-chemistry.cpp:523
-#, fuzzy
+#: ../src/path-chemistry.cpp:454
 msgid "Reverse path"
-msgstr "Ð\90даÑ\81обÑ\96Ñ\86Ñ\8c"
+msgstr "РазÑ\8cвеÑ\80нÑ\83Ñ\86Ñ\8c Ñ\88лÑ\8fÑ\85"
 
-#: ../src/path-chemistry.cpp:525
+#: ../src/path-chemistry.cpp:456
 msgid "<b>No paths</b> to reverse in the selection."
-msgstr ""
+msgstr "Вылучэньне <b>ня мае шляхоў</b>, якія можна разьвернуць."
 
-#: ../src/pencil-context.cpp:239 ../src/pen-context.cpp:441
-#, fuzzy
+#: ../src/pen-context.cpp:227
+#: ../src/pencil-context.cpp:457
+msgid "Drawing cancelled"
+msgstr "Рысаваньне адмененае"
+
+#: ../src/pen-context.cpp:426
+#: ../src/pencil-context.cpp:238
 msgid "Continuing selected path"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fÑ\80аÑ\86Ñ\8fгванÑ\8cне Ð²Ñ\8bлÑ\83Ñ\87анага Ñ\88лÑ\8fÑ\85а"
 
-#: ../src/pencil-context.cpp:248 ../src/pen-context.cpp:451
+#: ../src/pen-context.cpp:437
+#: ../src/pencil-context.cpp:247
 msgid "Creating new path"
-msgstr ""
+msgstr "Стварэньне новага шляха"
 
-#: ../src/pencil-context.cpp:253 ../src/pen-context.cpp:453
-#, fuzzy
+#: ../src/pen-context.cpp:441
+#: ../src/pencil-context.cpp:251
 msgid "Appending to selected path"
-msgstr "Устаўляе новыя вузлы ў вылучаныя сэгмэнты"
-
-#: ../src/pencil-context.cpp:336
-msgid "<b>Release</b> here to close and finish the path."
-msgstr ""
-
-#: ../src/pencil-context.cpp:342
-msgid "Drawing a freehand path"
-msgstr ""
-
-#: ../src/pencil-context.cpp:347
-msgid "<b>Drag</b> to continue the path from this point."
-msgstr ""
-
-#. Write curves to object
-#: ../src/pencil-context.cpp:409
-#, fuzzy
-msgid "Finishing freehand"
-msgstr "Вольная рыса"
-
-#: ../src/pencil-context.cpp:460 ../src/pen-context.cpp:237
-#, fuzzy
-msgid "Drawing cancelled"
-msgstr "Рэжым рысаваньня"
+msgstr "Дадаваньне да вылучанага шляха"
 
-#: ../src/pen-context.cpp:620
+#: ../src/pen-context.cpp:601
 msgid "<b>Click</b> or <b>click and drag</b> to close and finish the path."
-msgstr ""
+msgstr "<b>Пстрыкні</b> або <b>пстрыкні й пацягні</b>, каб закрыць і скончыць шлях."
 
-#: ../src/pen-context.cpp:630
-msgid ""
-"<b>Click</b> or <b>click and drag</b> to continue the path from this point."
-msgstr ""
+#: ../src/pen-context.cpp:611
+msgid "<b>Click</b> or <b>click and drag</b> to continue the path from this point."
+msgstr "<b>Пстрыкні</b> або <b>пстрыкні й пацягні</b>, каб працягнуць шлях з гэтага пункту."
 
-#: ../src/pen-context.cpp:1177
+#: ../src/pen-context.cpp:1117
 #, c-format
-msgid ""
-"<b>Curve segment</b>: angle %3.2f&#176;, distance %s; with <b>Ctrl</b> to "
-"snap angle, <b>Enter</b> to finish the path"
+msgid "<b>%s</b>: angle %3.2f&#176;, distance %s; with <b>Ctrl</b> to snap angle, <b>Enter</b> to finish the path"
 msgstr ""
 
-#: ../src/pen-context.cpp:1178
+#: ../src/pen-context.cpp:1142
 #, c-format
-msgid ""
-"<b>Line segment</b>: angle %3.2f&#176;, distance %s; with <b>Ctrl</b> to "
-"snap angle, <b>Enter</b> to finish the path"
+msgid "<b>Curve handle</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</b> to snap angle"
 msgstr ""
 
-#: ../src/pen-context.cpp:1196
+#: ../src/pen-context.cpp:1172
 #, c-format
-msgid ""
-"<b>Curve handle</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</b> to snap "
-"angle"
+msgid "<b>%s</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</b> to snap angle, with <b>Shift</b> to move this handle only"
 msgstr ""
 
-#: ../src/pen-context.cpp:1218
-#, c-format
-msgid ""
-"<b>Curve handle, symmetric</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</"
-"b> to snap angle, with <b>Shift</b> to move this handle only"
-msgstr ""
+#: ../src/pen-context.cpp:1208
+msgid "Drawing finished"
+msgstr "Рысаваньне скончана"
 
-#: ../src/pen-context.cpp:1219
-#, c-format
-msgid ""
-"<b>Curve handle</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</b> to snap "
-"angle, with <b>Shift</b> to move this handle only"
-msgstr ""
+#: ../src/pencil-context.cpp:333
+msgid "<b>Release</b> here to close and finish the path."
+msgstr "<b>Адпусьці</b> тут, каб закрыць і скончыць шлях."
 
-#: ../src/pen-context.cpp:1259
-#, fuzzy
-msgid "Drawing finished"
-msgstr "Рэжым рысаваньня"
+#: ../src/pencil-context.cpp:339
+msgid "Drawing a freehand path"
+msgstr "Рысаваньне шляху ад рукі"
+
+#: ../src/pencil-context.cpp:344
+msgid "<b>Drag</b> to continue the path from this point."
+msgstr "<b>Пацягні</b>, каб працягнуць шлях з гэтага пункту"
+
+#. Write curves to object
+#: ../src/pencil-context.cpp:406
+msgid "Finishing freehand"
+msgstr "Сканчэньне рысаваньня ад рукі"
 
-#: ../src/persp3d.cpp:335
+#: ../src/persp3d.cpp:321
 msgid "Toggle vanishing point"
-msgstr ""
+msgstr "Пераключыць пункт зьнікненьня"
 
-#: ../src/persp3d.cpp:346
+#: ../src/persp3d.cpp:332
 msgid "Toggle multiple vanishing points"
 msgstr ""
 
@@ -7608,71 +6250,59 @@ 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 ""
-"<b>Ctrl</b>: make square or integer-ratio rect, lock a rounded corner "
-"circular"
+#: ../src/rect-context.cpp:384
+msgid "<b>Ctrl</b>: make square or integer-ratio rect, lock a rounded corner circular"
 msgstr ""
 
-#: ../src/rect-context.cpp:536
+#: ../src/rect-context.cpp:538
 #, c-format
-msgid ""
-"<b>Rectangle</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</"
-"b> to draw around the starting point"
-msgstr ""
+msgid "<b>Rectangle</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</b> to draw around the starting point"
+msgstr "<b>Прастакутнік</b>: %s &#215; %s (абмежаваны стасункам %d:%d); з <b>Shift</b> рысаваць вакол пачатковага пункту"
 
-#: ../src/rect-context.cpp:539
+#: ../src/rect-context.cpp:541
 #, c-format
-msgid ""
-"<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1.618 : 1); with "
-"<b>Shift</b> to draw around the starting point"
+msgid "<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1.618 : 1); with <b>Shift</b> to draw around the starting point"
 msgstr ""
 
-#: ../src/rect-context.cpp:541
+#: ../src/rect-context.cpp:543
 #, c-format
-msgid ""
-"<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1 : 1.618); with "
-"<b>Shift</b> to draw around the starting point"
+msgid "<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1 : 1.618); with <b>Shift</b> to draw around the starting point"
 msgstr ""
 
-#: ../src/rect-context.cpp:545
+#: ../src/rect-context.cpp:547
 #, c-format
-msgid ""
-"<b>Rectangle</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-"
-"ratio rectangle; with <b>Shift</b> to draw around the starting point"
-msgstr ""
+msgid "<b>Rectangle</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-ratio rectangle; with <b>Shift</b> to draw around the starting point"
+msgstr "<b>Прастакутнік</b>: %s &#215; %s; з <b>Ctrl</b> зрабіць кавадратны ці цэлалікавы прастакутнік; з <b>Shift</b> рысаваць вакол пачатковага пункту"
 
-#: ../src/rect-context.cpp:566
-#, fuzzy
+#: ../src/rect-context.cpp:568
 msgid "Create rectangle"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ñ\80аÑ\81Ñ\82акÑ\83Ñ\82нÑ\96к"
 
 #: ../src/select-context.cpp:230
 msgid "Move canceled."
-msgstr ""
+msgstr "Перасоўваньне адменена."
 
 #: ../src/select-context.cpp:238
-#, fuzzy
 msgid "Selection canceled."
-msgstr "Вылучэньне"
+msgstr "Вылучэньне адменена."
 
 #: ../src/select-context.cpp:545
-msgid ""
-"<b>Draw over</b> objects to select them; release <b>Alt</b> to switch to "
-"rubberband selection"
+msgid "<b>Draw over</b> objects to select them; release <b>Alt</b> to switch to rubberband selection"
 msgstr ""
 
 #: ../src/select-context.cpp:547
-msgid ""
-"<b>Drag around</b> objects to select them; press <b>Alt</b> to switch to "
-"touch selection"
+msgid "<b>Drag around</b> objects to select them; press <b>Alt</b> to switch to touch selection"
 msgstr ""
 
 #: ../src/select-context.cpp:707
@@ -7684,1652 +6314,1502 @@ msgid "<b>Shift</b>: click to toggle select; drag for rubberband selection"
 msgstr ""
 
 #: ../src/select-context.cpp:709
-msgid ""
-"<b>Alt</b>: click to select under; drag to move selected or select by touch"
+msgid "<b>Alt</b>: click to select under; drag to move selected or select by touch"
 msgstr ""
 
 #: ../src/select-context.cpp:880
 msgid "Selected object is not a group. Cannot enter."
-msgstr ""
+msgstr "Вылучаны абʼект не зьяўляецца ґрупай. Немагчыма ўвайсьці."
 
-#: ../src/selection-chemistry.cpp:194
-#, fuzzy
+#: ../src/selection-chemistry.cpp:235
 msgid "Delete text"
-msgstr "Выдаліць вузел"
+msgstr "Выдаліць тэкст"
 
-#: ../src/selection-chemistry.cpp:202
+#: ../src/selection-chemistry.cpp:243
 msgid "<b>Nothing</b> was deleted."
-msgstr ""
+msgstr "<b>Нічога</b> ня выдалена."
 
-#: ../src/selection-chemistry.cpp:220 ../src/text-context.cpp:995
-#: ../src/widgets/toolbox.cpp:1090 ../src/widgets/toolbox.cpp:4335
+#: ../src/selection-chemistry.cpp:261
+#: ../src/text-context.cpp:995
+#: ../src/widgets/toolbox.cpp:991
 msgid "Delete"
 msgstr "Выдаліць"
 
-#: ../src/selection-chemistry.cpp:235
+#: ../src/selection-chemistry.cpp:276
 msgid "Select <b>object(s)</b> to duplicate."
-msgstr ""
+msgstr "Вылучы <b>абʼект(ы)</b> для падвойваньня."
 
-#: ../src/selection-chemistry.cpp:285
-#, fuzzy
+#: ../src/selection-chemistry.cpp:326
 msgid "Delete all"
-msgstr "Выдаліць"
+msgstr "Выдаліць усё"
 
-#: ../src/selection-chemistry.cpp:409
-#, fuzzy
+#: ../src/selection-chemistry.cpp:450
 msgid "Select <b>some objects</b> to group."
-msgstr "Выразае вылучаныя аб'екты ў буфэр абмену"
+msgstr "Вылучы <b>колькі абʼектаў</b> для ґрупаваньня."
 
-#: ../src/selection-chemistry.cpp:482 ../src/selection-describer.cpp:51
+#: ../src/selection-chemistry.cpp:523
+#: ../src/selection-describer.cpp:50
 msgid "Group"
-msgstr "Згрупаваць"
+msgstr "Зґрупаваць"
 
-#: ../src/selection-chemistry.cpp:497
+#: ../src/selection-chemistry.cpp:538
 msgid "Select a <b>group</b> to ungroup."
-msgstr ""
+msgstr "Вылучы <b>ґрупу</b> для разґрупаваньня."
 
-#: ../src/selection-chemistry.cpp:538
+#: ../src/selection-chemistry.cpp:579
 msgid "<b>No groups</b> to ungroup in the selection."
-msgstr ""
+msgstr "Вылучэньне <b>ня мае ґруп</b> для разґрупоўваньня."
 
-#: ../src/selection-chemistry.cpp:544 ../src/sp-item-group.cpp:488
+#: ../src/selection-chemistry.cpp:585
+#: ../src/sp-item-group.cpp:453
 msgid "Ungroup"
-msgstr "Разгрупаваць"
+msgstr "Разґрупаваць"
 
-#: ../src/selection-chemistry.cpp:605
+#: ../src/selection-chemistry.cpp:646
 msgid "Select <b>object(s)</b> to raise."
-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 <b>different groups</b> or <b>layers</b>."
-msgstr ""
+msgstr "Выберы <b>абʼект(ы)</b>, каб узьняць."
 
-#. 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 "Насычанасьць:"
+#: ../src/selection-chemistry.cpp:652
+#: ../src/selection-chemistry.cpp:712
+#: ../src/selection-chemistry.cpp:747
+#: ../src/selection-chemistry.cpp:812
+msgid "You cannot raise/lower objects from <b>different groups</b> or <b>layers</b>."
+msgstr "Немагчыма уздымаць/апускаць абʼекты з <b>розных ґруп</b> ці <b>пластоў</b>."
 
-#: ../src/selection-chemistry.cpp:664
+#: ../src/selection-chemistry.cpp:704
 msgid "Select <b>object(s)</b> to raise to top."
-msgstr ""
+msgstr "Выберы <b>абʼект(ы)</b>, каб узьняць наверх."
 
-#: ../src/selection-chemistry.cpp:687
-#, fuzzy
+#: ../src/selection-chemistry.cpp:727
 msgid "Raise to top"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "УзÑ\8cнÑ\8fÑ\86Ñ\8c Ñ\83гоÑ\80Ñ\83"
 
-#: ../src/selection-chemistry.cpp:701
-#, fuzzy
+#: ../src/selection-chemistry.cpp:741
 msgid "Select <b>object(s)</b> to lower."
-msgstr "Выразае вылучаныя аб'екты ў буфэр абмену"
+msgstr "Выберы <b>абʼект(ы)</b>, каб апусьціць."
 
-#: ../src/selection-chemistry.cpp:751
+#: ../src/selection-chemistry.cpp:791
 msgid "Lower"
 msgstr "Апусьціць"
 
-#: ../src/selection-chemistry.cpp:764
-#, fuzzy
+#: ../src/selection-chemistry.cpp:804
 msgid "Select <b>object(s)</b> to lower to bottom."
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\92Ñ\8bбеÑ\80Ñ\8b <b>абʼекÑ\82\8b)</b>, ÐºÐ°Ð± Ð°Ð¿Ñ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð½Ð° Ñ\81под."
 
-#: ../src/selection-chemistry.cpp:799
-#, fuzzy
+#: ../src/selection-chemistry.cpp:839
 msgid "Lower to bottom"
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
+msgstr "Апусьціць долу"
 
-#: ../src/selection-chemistry.cpp:806
+#: ../src/selection-chemistry.cpp:846
 msgid "Nothing to undo."
-msgstr ""
+msgstr "Няма чаго адмяняць."
 
-#: ../src/selection-chemistry.cpp:813
-#, fuzzy
+#: ../src/selection-chemistry.cpp:853
 msgid "Nothing to redo."
-msgstr "Даслаць угору"
+msgstr "Няма чаго паўтараць."
+
+#: ../src/selection-chemistry.cpp:1061
+msgid "Nothing was copied."
+msgstr "Нічога не скапіявана."
+
+#: ../src/selection-chemistry.cpp:1253
+msgid "Nothing in the clipboard."
+msgstr "У буфэры абмену няма нічога."
 
-#: ../src/selection-chemistry.cpp:873
+#: ../src/selection-chemistry.cpp:1274
 msgid "Paste"
 msgstr "Уставіць"
 
-#: ../src/selection-chemistry.cpp:880
-#, fuzzy
-msgid "Paste style"
-msgstr "Стыль штрыхоўкі"
+#: ../src/selection-chemistry.cpp:1286
+msgid "Nothing on the style clipboard."
+msgstr "Буфэр стыляў нічога ня ўтрымлівае."
 
-#: ../src/selection-chemistry.cpp:889
-msgid "Paste live path effect"
-msgstr ""
+#: ../src/selection-chemistry.cpp:1292
+msgid "Select <b>object(s)</b> to paste style to."
+msgstr "Вылучы <b>абʼект</b>, у які ўставіць стыль."
 
-#: ../src/selection-chemistry.cpp:909
-#, fuzzy
-msgid "Select <b>object(s)</b> to remove live path effects from."
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
+#: ../src/selection-chemistry.cpp:1301
+msgid "Paste style"
+msgstr "Уставіць стыль"
 
-#: ../src/selection-chemistry.cpp:921
-#, fuzzy
-msgid "Remove live path effect"
-msgstr "Выдаліць лучыва"
+#: ../src/selection-chemistry.cpp:1319
+msgid "Select <b>object(s)</b> to paste live path effect to."
+msgstr "Вылучы <b>абʼект</b>, у які ўставіць жывы эфэкт шляха."
 
-#: ../src/selection-chemistry.cpp:933
-#, fuzzy
-msgid "Select <b>object(s)</b> to remove filters from."
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
+#: ../src/selection-chemistry.cpp:1329
+msgid "Clipboard does not contain a live path effect."
+msgstr "Буфэр ня ўтрымлівае жывога эфэкту шляха."
 
-#: ../src/selection-chemistry.cpp:943
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1363
-#, fuzzy
-msgid "Remove filter"
-msgstr "Выдаліць лучыва"
+#: ../src/selection-chemistry.cpp:1355
+msgid "Paste live path effect"
+msgstr "Уставіць жывы эфэкт шляха"
 
-#: ../src/selection-chemistry.cpp:952
-#, fuzzy
+#: ../src/selection-chemistry.cpp:1373
+#: ../src/selection-chemistry.cpp:1409
+msgid "Select <b>object(s)</b> to paste size to."
+msgstr "Вылучы <b>абʼект</b>, у які ўставіць памер."
+
+#: ../src/selection-chemistry.cpp:1391
 msgid "Paste size"
-msgstr "Ð\9fамеÑ\80 Ð¿Ð°Ð¿ÐµÑ\80Ñ\8b:"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c Ð¿Ð°Ð¼ÐµÑ\80"
 
-#: ../src/selection-chemistry.cpp:960
+#: ../src/selection-chemistry.cpp:1432
 msgid "Paste size separately"
-msgstr ""
+msgstr "Уставіць паасобку памер"
 
-#: ../src/selection-chemistry.cpp:971
+#: ../src/selection-chemistry.cpp:1443
 msgid "Select <b>object(s)</b> to move to the layer above."
-msgstr ""
+msgstr " Вылучы <b>абʼект</b>, які пасунуць на пласт вышэй."
 
-#: ../src/selection-chemistry.cpp:996
+#: ../src/selection-chemistry.cpp:1468
 msgid "Raise to next layer"
-msgstr ""
+msgstr "Узьняць на наступны пласт"
 
-#: ../src/selection-chemistry.cpp:1002
+#: ../src/selection-chemistry.cpp:1474
 msgid "No more layers above."
-msgstr ""
+msgstr "Няма пластоў вышэй."
 
-#: ../src/selection-chemistry.cpp:1016
+#: ../src/selection-chemistry.cpp:1488
 msgid "Select <b>object(s)</b> to move to the layer below."
-msgstr ""
+msgstr "Вылучы <b>абʼект</b>, які пасунуць на пласт ніжэй."
 
-#: ../src/selection-chemistry.cpp:1041
+#: ../src/selection-chemistry.cpp:1513
 msgid "Lower to previous layer"
-msgstr ""
+msgstr "Апусьціць на папярэдні пласт"
 
-#: ../src/selection-chemistry.cpp:1047
+#: ../src/selection-chemistry.cpp:1519
 msgid "No more layers below."
-msgstr ""
+msgstr "Няма пластоў ніжэй."
 
-#: ../src/selection-chemistry.cpp:1234
-#, fuzzy
+#: ../src/selection-chemistry.cpp:1706
 msgid "Remove transform"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cнÑ\96"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cне"
 
-#: ../src/selection-chemistry.cpp:1343
+#: ../src/selection-chemistry.cpp:1815
 msgid "Rotate 90&#176; CW"
-msgstr ""
+msgstr "Павернуць на 90&#176; ЗС"
 
-#: ../src/selection-chemistry.cpp:1367
+#: ../src/selection-chemistry.cpp:1843
 msgid "Rotate 90&#176; CCW"
-msgstr ""
+msgstr "Павернуць на 90&#176; СС"
 
-#: ../src/selection-chemistry.cpp:1388 ../src/seltrans.cpp:457
-#: ../src/ui/dialog/transformation.cpp:757
+#: ../src/selection-chemistry.cpp:1864
+#: ../src/seltrans.cpp:434
+#: ../src/ui/dialog/transformation.cpp:687
 msgid "Rotate"
-msgstr "Павярнуць"
+msgstr "Павернуць"
 
-#: ../src/selection-chemistry.cpp:1420
-#, fuzzy
+#: ../src/selection-chemistry.cpp:1896
 msgid "Rotate by pixels"
-msgstr "Павярнуць на 90°"
+msgstr "Павернуць на піксэлі"
 
-#: ../src/selection-chemistry.cpp:1475
-msgid "Scale by whole factor"
-msgstr ""
+#: ../src/selection-chemistry.cpp:1926
+#: ../src/seltrans.cpp:431
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2232
+#: ../src/ui/dialog/transformation.cpp:666
+msgid "Scale"
+msgstr "Зьмена памеру"
 
-#: ../src/selection-chemistry.cpp:1491
+#: ../src/selection-chemistry.cpp:1951
 #, fuzzy
+msgid "Scale by whole factor"
+msgstr "Множнік маштабу (Рысунак:Сапраўдная даўжыня) = 1:"
+
+#: ../src/selection-chemistry.cpp:1967
 msgid "Move vertically"
-msgstr "ЦÑ\8dнÑ\82Ñ\80аваць па вэртыкалі"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83ць па вэртыкалі"
 
-#: ../src/selection-chemistry.cpp:1494
-#, fuzzy
+#: ../src/selection-chemistry.cpp:1970
 msgid "Move horizontally"
-msgstr "ЦÑ\8dнÑ\82Ñ\80аваць па гарызанталі"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83ць па гарызанталі"
 
-#: ../src/selection-chemistry.cpp:1497 ../src/selection-chemistry.cpp:1525
-#: ../src/seltrans.cpp:451 ../src/ui/dialog/transformation.cpp:680
+#: ../src/selection-chemistry.cpp:1973
+#: ../src/selection-chemistry.cpp:2001
+#: ../src/seltrans.cpp:428
+#: ../src/ui/dialog/transformation.cpp:610
 msgid "Move"
-msgstr "Ð\9fеÑ\80анеÑ\81Ñ\8cÑ\86Ñ\96"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c"
 
-#: ../src/selection-chemistry.cpp:1519
-#, fuzzy
+#: ../src/selection-chemistry.cpp:1995
 msgid "Move vertically by pixels"
-msgstr "ЦÑ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c Ð¿Ð° Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалі"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна Ð½Ð° Ð¿Ñ\96кÑ\81Ñ\8dлі"
 
-#: ../src/selection-chemistry.cpp:1522
-#, fuzzy
+#: ../src/selection-chemistry.cpp:1998
 msgid "Move horizontally by pixels"
-msgstr "ЦÑ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c Ð¿Ð° Ð³Ð°Ñ\80Ñ\8bзанÑ\82алі"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна Ð½Ð° Ð¿Ñ\96кÑ\81Ñ\8dлі"
 
-#: ../src/selection-chemistry.cpp:1650
-#, fuzzy
+#: ../src/selection-chemistry.cpp:2127
 msgid "The selection has no applied path effect."
-msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
-
-#: ../src/selection-chemistry.cpp:1694
-#, fuzzy
-msgid "The selection has no applied clip path."
-msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
+msgstr "Вылучэньне ня мае ўжытага эфэкту шляха."
 
-#: ../src/selection-chemistry.cpp:1696
-#, fuzzy
-msgid "The selection has no applied mask."
-msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
-
-#: ../src/selection-chemistry.cpp:1854
+#: ../src/selection-chemistry.cpp:2284
 msgid "action|Clone"
-msgstr ""
+msgstr "Кланаваньне"
 
-#: ../src/selection-chemistry.cpp:1871
+#: ../src/selection-chemistry.cpp:2301
 msgid "Select a <b>clone</b> to unlink."
-msgstr ""
+msgstr "Выберы <b>клон</b> для адлучэньня."
 
-#: ../src/selection-chemistry.cpp:1920
+#: ../src/selection-chemistry.cpp:2350
 msgid "<b>No clones to unlink</b> in the selection."
-msgstr ""
+msgstr "Вылучэньне <b>ня мае клонаў, якія можна адлучыць</b>."
 
-#: ../src/selection-chemistry.cpp:1924
+#: ../src/selection-chemistry.cpp:2354
 msgid "Unlink clone"
-msgstr ""
+msgstr "Адлучыць клон"
 
-#: ../src/selection-chemistry.cpp:1938
-msgid ""
-"Select a <b>clone</b> to go to its original. Select a <b>linked offset</b> "
-"to go to its source. Select a <b>text on path</b> to go to the path. Select "
-"a <b>flowed text</b> to go to its frame."
+#: ../src/selection-chemistry.cpp:2368
+msgid "Select a <b>clone</b> to go to its original. Select a <b>linked offset</b> to go to its source. Select a <b>text on path</b> to go to the path. Select a <b>flowed text</b> to go to its frame."
 msgstr ""
 
-#: ../src/selection-chemistry.cpp:1961
-msgid ""
-"<b>Cannot find</b> the object to select (orphaned clone, offset, textpath, "
-"flowed text?)"
+#: ../src/selection-chemistry.cpp:2391
+msgid "<b>Cannot find</b> 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 <b>not visible</b> (it is in &lt;"
-"defs&gt;)"
+#: ../src/selection-chemistry.cpp:2397
+msgid "The object you're trying to select is <b>not visible</b> (it is in &lt;defs&gt;)"
 msgstr ""
 
-#: ../src/selection-chemistry.cpp:1995
-#, fuzzy
+#: ../src/selection-chemistry.cpp:2425
 msgid "Select <b>object(s)</b> to convert to marker."
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8b <b>абʼекÑ\82\8b)</b>, Ñ\8fкÑ\96\8f) Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ñ\83 Ð¼ÐµÑ\82кÑ\83."
 
-#: ../src/selection-chemistry.cpp:2061
-#, fuzzy
+#: ../src/selection-chemistry.cpp:2491
 msgid "Objects to marker"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð°Ð±'екÑ\82а"
+msgstr "Ð\90бʼекÑ\82Ñ\8b Ñ\9e Ð¼ÐµÑ\82кÑ\83"
 
-#: ../src/selection-chemistry.cpp:2090
-#, fuzzy
+#: ../src/selection-chemistry.cpp:2520
 msgid "Select <b>object(s)</b> to convert to guides."
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8b <b>абʼекÑ\82\8b)</b>, Ñ\8fкÑ\96\8f) Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ñ\83 Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\8bÑ\8f."
 
-#: ../src/selection-chemistry.cpp:2101
-#, fuzzy
+#: ../src/selection-chemistry.cpp:2530
 msgid "Objects to guides"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð°Ð±'екÑ\82а"
+msgstr "Ð\90бʼекÑ\82Ñ\8b Ñ\9e Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\8bÑ\8f"
 
-#: ../src/selection-chemistry.cpp:2118
+#: ../src/selection-chemistry.cpp:2547
 msgid "Select <b>object(s)</b> to convert to pattern."
-msgstr ""
+msgstr "Вылучы <b>абʼект(ы)</b>, які(я) ператварыць ва ўзор."
 
-#: ../src/selection-chemistry.cpp:2205
-#, fuzzy
+#: ../src/selection-chemistry.cpp:2632
 msgid "Objects to pattern"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð°Ð±'екÑ\82а"
+msgstr "Ð\90бʼекÑ\82Ñ\8b Ð²Ð° Ñ\9eзоÑ\80"
 
-#: ../src/selection-chemistry.cpp:2222
+#: ../src/selection-chemistry.cpp:2649
 msgid "Select an <b>object with pattern fill</b> to extract objects from."
 msgstr ""
 
-#: ../src/selection-chemistry.cpp:2275
+#: ../src/selection-chemistry.cpp:2702
 msgid "<b>No pattern fills</b> in the selection."
-msgstr ""
+msgstr "Вылучэньне <b>ня мае запаўненьня ўзорам</b>."
 
-#: ../src/selection-chemistry.cpp:2278
-#, fuzzy
+#: ../src/selection-chemistry.cpp:2705
 msgid "Pattern to objects"
-msgstr "РаÑ\9eнае Ð°Ð±'екÑ\82"
+msgstr "УзоÑ\80 Ñ\83 Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b"
 
-#: ../src/selection-chemistry.cpp:2364
+#: ../src/selection-chemistry.cpp:2791
 msgid "Select <b>object(s)</b> to make a bitmap copy."
-msgstr ""
-
-#: ../src/selection-chemistry.cpp:2368
-#, fuzzy
-msgid "Rendering bitmap..."
-msgstr "Адасобіць"
+msgstr "Вылучы <b>абʼект</b>, каб стварыць растравую копію."
 
-#: ../src/selection-chemistry.cpp:2530
-#, fuzzy
+#: ../src/selection-chemistry.cpp:2952
 msgid "Create bitmap"
-msgstr "ЭкÑ\81паÑ\80Ñ\82аваÑ\86Ñ\8c ÐºÑ\80опкавÑ\8b Ð²Ñ\96даÑ\80Ñ\8bÑ\81"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ñ\80аÑ\81Ñ\82аÑ\80"
 
-#: ../src/selection-chemistry.cpp:2563
+#: ../src/selection-chemistry.cpp:2985
 msgid "Select <b>object(s)</b> to create clippath or mask from."
-msgstr ""
+msgstr "Вылучы <b>абʼект</b>, зь якога зрабіць маску ці шлях абразаньня."
 
-#: ../src/selection-chemistry.cpp:2566
+#: ../src/selection-chemistry.cpp:2988
 msgid "Select mask object and <b>object(s)</b> to apply clippath or mask to."
-msgstr ""
+msgstr "Вылучы абʼект-маску й <b>абʼект</b>, да якога дадаць маску ці шлях абразаньня."
 
-#: ../src/selection-chemistry.cpp:2672
+#: ../src/selection-chemistry.cpp:3094
 msgid "Set clipping path"
-msgstr ""
+msgstr "Задаць шлях абразаньня"
 
-#: ../src/selection-chemistry.cpp:2674
-#, fuzzy
+#: ../src/selection-chemistry.cpp:3096
 msgid "Set mask"
-msgstr "Захаваць як:"
+msgstr "Задаць маску"
 
-#: ../src/selection-chemistry.cpp:2688
+#: ../src/selection-chemistry.cpp:3110
 msgid "Select <b>object(s)</b> to remove clippath or mask from."
-msgstr ""
+msgstr "Вылучы <b>абʼект</b>, зь якога прыбраць маску ці шлях абразаньня."
 
-#: ../src/selection-chemistry.cpp:2756
+#: ../src/selection-chemistry.cpp:3178
 msgid "Release clipping path"
-msgstr ""
+msgstr "Вызваліць шлях абразаньня"
 
-#: ../src/selection-chemistry.cpp:2758
+#: ../src/selection-chemistry.cpp:3180
 msgid "Release mask"
-msgstr ""
+msgstr "Вызваліць маску"
 
-#: ../src/selection-chemistry.cpp:2769
-#, fuzzy
+#: ../src/selection-chemistry.cpp:3191
 msgid "Select <b>object(s)</b> to fit canvas to."
-msgstr "Выразае вылучаныя аб'екты ў буфэр абмену"
+msgstr "Вылучы <b>аб'ект(ы)</b>, якому мусіць быць роўнае палатно."
 
-#: ../src/selection-chemistry.cpp:2803
-#, fuzzy
+#: ../src/selection-chemistry.cpp:3225
 msgid "Fit page to selection"
-msgstr "Ð\97апаÑ\9eнÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнем Ñ\83Ñ\81Ñ\91 Ð°ÐºÐ½Ð¾"
+msgstr "Ð\9fамеÑ\80 Ñ\81Ñ\82аÑ\80онкÑ\96 Ñ\80оÑ\9eнÑ\8b Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8e"
 
-#. TRANSLATORS: only translate and put "Link" in the translation. It means internet link (anchor)
-#: ../src/selection-describer.cpp:43
-#, fuzzy
-msgid "web|Link"
+#: ../src/selection-describer.cpp:42
+#: ../src/ui/widget/spin-slider.cpp:117
+msgid "Link"
 msgstr "Злучыць"
 
-#: ../src/selection-describer.cpp:45
-#, fuzzy
+#: ../src/selection-describer.cpp:44
 msgid "Circle"
-msgstr "Файл"
+msgstr "Ð\90кÑ\80Ñ\83жнаÑ\81Ñ\8cÑ\86Ñ\8c"
 
 #. 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:46
+#: ../src/selection-describer.cpp:72
+#: ../src/ui/dialog/inkscape-preferences.cpp:404
+#: ../src/verbs.cpp:2384
 msgid "Ellipse"
 msgstr "Эліпс"
 
-#: ../src/selection-describer.cpp:49
+#: ../src/selection-describer.cpp:48
 msgid "Flowed text"
-msgstr ""
+msgstr "Плыўны тэкст"
 
-#: ../src/selection-describer.cpp:55
-#, fuzzy
+#: ../src/selection-describer.cpp:54
 msgid "Line"
-msgstr "Ð\97лÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9bÑ\96нÑ\96Ñ\8f"
 
-#: ../src/selection-describer.cpp:57
-#, fuzzy
+#: ../src/selection-describer.cpp:56
 msgid "Path"
-msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c"
+msgstr "ШлÑ\8fÑ\85"
 
-#: ../src/selection-describer.cpp:59 ../src/widgets/toolbox.cpp:2028
+#: ../src/selection-describer.cpp:58
+#: ../src/widgets/toolbox.cpp:1883
 msgid "Polygon"
-msgstr ""
+msgstr "Шматкутнік"
 
-#: ../src/selection-describer.cpp:61
-#, fuzzy
+#: ../src/selection-describer.cpp:60
 msgid "Polyline"
-msgstr "Ð\9fÑ\83нкÑ\82"
+msgstr "Ð\9bаманаÑ\8f"
 
 #. Rectangle
-#: ../src/selection-describer.cpp:63
-#: ../src/ui/dialog/inkscape-preferences.cpp:414 ../src/verbs.cpp:2421
+#: ../src/selection-describer.cpp:62
+#: ../src/ui/dialog/inkscape-preferences.cpp:396
+#: ../src/verbs.cpp:2380
 msgid "Rectangle"
-msgstr "Прамакутнік"
+msgstr "Прастакутнік"
 
 #. 3D box
-#: ../src/selection-describer.cpp:65
-#: ../src/ui/dialog/inkscape-preferences.cpp:419 ../src/verbs.cpp:2423
+#: ../src/selection-describer.cpp:64
+#: ../src/ui/dialog/inkscape-preferences.cpp:400
+#: ../src/verbs.cpp:2382
 msgid "3D Box"
-msgstr ""
+msgstr "Скрыня"
 
-#: ../src/selection-describer.cpp:71
+#: ../src/selection-describer.cpp:70
 msgid "object|Clone"
-msgstr ""
+msgstr "Клон"
 
-#: ../src/selection-describer.cpp:75
+#: ../src/selection-describer.cpp:74
 msgid "Offset path"
-msgstr ""
+msgstr "Зрушаны шлях"
 
 #. spiral
-#: ../src/selection-describer.cpp:77
-#: ../src/ui/dialog/inkscape-preferences.cpp:432 ../src/verbs.cpp:2429
+#: ../src/selection-describer.cpp:76
+#: ../src/ui/dialog/inkscape-preferences.cpp:410
+#: ../src/verbs.cpp:2388
 msgid "Spiral"
-msgstr "Спіраль"
+msgstr "Сьпіраль"
 
 #. star
-#: ../src/selection-describer.cpp:79
-#: ../src/ui/dialog/inkscape-preferences.cpp:428 ../src/verbs.cpp:2427
-#: ../src/widgets/toolbox.cpp:2035
+#: ../src/selection-describer.cpp:78
+#: ../src/ui/dialog/inkscape-preferences.cpp:407
+#: ../src/verbs.cpp:2386
+#: ../src/widgets/toolbox.cpp:1890
 msgid "Star"
 msgstr "Зорка"
 
-#: ../src/selection-describer.cpp:107
+#: ../src/selection-describer.cpp:106
 msgid "Click selection to toggle scale/rotation handles"
 msgstr ""
 
 #. no items
-#: ../src/selection-describer.cpp:109
-msgid ""
-"No objects selected. Click, Shift+click, or drag around objects to select."
-msgstr ""
+#: ../src/selection-describer.cpp:108
+msgid "No objects selected. Click, Shift+click, or drag around objects to select."
+msgstr "Нічога ня вылучана. Пстрыкні, Shift+пстрыкні або пацягні вакол абʼектаў, каб вылучыць."
 
-#: ../src/selection-describer.cpp:118
+#: ../src/selection-describer.cpp:117
 msgid "root"
-msgstr ""
+msgstr "каранёвы"
 
-#: ../src/selection-describer.cpp:130
+#: ../src/selection-describer.cpp:129
 #, c-format
 msgid "layer <b>%s</b>"
-msgstr ""
+msgstr "пласт <b>%s</b>"
 
-#: ../src/selection-describer.cpp:132
+#: ../src/selection-describer.cpp:131
 #, c-format
 msgid "layer <b><i>%s</i></b>"
-msgstr ""
+msgstr "пласт <b><i>%s</i></b>"
 
-#: ../src/selection-describer.cpp:141
+#: ../src/selection-describer.cpp:140
 #, c-format
 msgid "<i>%s</i>"
-msgstr ""
+msgstr "<i>%s</i>"
 
-#: ../src/selection-describer.cpp:150
-#, fuzzy, c-format
+#: ../src/selection-describer.cpp:149
+#, c-format
 msgid " in %s"
-msgstr "Злучыць з %s"
+msgstr " у %s"
 
-#: ../src/selection-describer.cpp:152
+#: ../src/selection-describer.cpp:151
 #, c-format
 msgid " in group %s (%s)"
-msgstr ""
+msgstr " у ґрупе %s (%s)"
 
-#: ../src/selection-describer.cpp:154
+#: ../src/selection-describer.cpp:153
 #, c-format
 msgid " in <b>%i</b> parents (%s)"
 msgid_plural " in <b>%i</b> parents (%s)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] " у <b>%i</b> бацьку (%s)"
+msgstr[1] " у <b>%i</b> бацьках (%s)"
+msgstr[2] " у <b>%i</b> бацьках (%s)"
 
-#: ../src/selection-describer.cpp:157
+#: ../src/selection-describer.cpp:156
 #, c-format
 msgid " in <b>%i</b> layers"
 msgid_plural " in <b>%i</b> layers"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] " у <b>%i</b> пласьце"
+msgstr[1] " у <b>%i</b> пластах"
+msgstr[2] " у <b>%i</b> пластах"
 
-#: ../src/selection-describer.cpp:167
+#: ../src/selection-describer.cpp:166
 msgid "Use <b>Shift+D</b> to look up original"
-msgstr ""
+msgstr "Карыстайся <b>Shift+D</b> каб шукаць арыґінал"
 
-#: ../src/selection-describer.cpp:171
+#: ../src/selection-describer.cpp:170
 msgid "Use <b>Shift+D</b> to look up path"
-msgstr ""
+msgstr "Карыстайся <b>Shift+D</b> каб шукаць шлях"
 
-#: ../src/selection-describer.cpp:175
+#: ../src/selection-describer.cpp:174
 msgid "Use <b>Shift+D</b> to look up frame"
-msgstr ""
+msgstr "Карыстайся <b>Shift+D</b> каб шукаць кадар"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:190
+#: ../src/selection-describer.cpp:189
 #, c-format
 msgid "<b>%i</b> object selected"
 msgid_plural "<b>%i</b> objects selected"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Выбраны <b>%i</b> абʼект"
+msgstr[1] "Выбраны <b>%i</b> абʼекты"
+msgstr[2] "Выбраны <b>%i</b> абʼектаў"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:195
+#: ../src/selection-describer.cpp:194
 #, c-format
 msgid "<b>%i</b> object of type <b>%s</b>"
 msgid_plural "<b>%i</b> objects of type <b>%s</b>"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>%i</b> абʼект тыпу <b>%s</b>"
+msgstr[1] "<b>%i</b> абʼекты тыпу <b>%s</b>"
+msgstr[2] "<b>%i</b> абʼектаў тыпу <b>%s</b>"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:200
+#: ../src/selection-describer.cpp:199
 #, c-format
 msgid "<b>%i</b> object of types <b>%s</b>, <b>%s</b>"
 msgid_plural "<b>%i</b> objects of types <b>%s</b>, <b>%s</b>"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>%i</b> абʼект тыпаў <b>%s</b>, <b>%s</b>"
+msgstr[1] "<b>%i</b> абʼекты тыпаў <b>%s</b>, <b>%s</b>"
+msgstr[2] "<b>%i</b> абʼектаў тыпаў <b>%s</b>, <b>%s</b>"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:205
+#: ../src/selection-describer.cpp:204
 #, c-format
 msgid "<b>%i</b> object of types <b>%s</b>, <b>%s</b>, <b>%s</b>"
 msgid_plural "<b>%i</b> objects of types <b>%s</b>, <b>%s</b>, <b>%s</b>"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>%i</b> абʼект тыпаў <b>%s</b>, <b>%s</b>, <b>%s</b>"
+msgstr[1] "<b>%i</b> абʼекты тыпаў <b>%s</b>, <b>%s</b>, <b>%s</b>"
+msgstr[2] "<b>%i</b> абʼектаў тыпаў <b>%s</b>, <b>%s</b>, <b>%s</b>"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:210
+#: ../src/selection-describer.cpp:209
 #, c-format
 msgid "<b>%i</b> object of <b>%i</b> types"
 msgid_plural "<b>%i</b> objects of <b>%i</b> types"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>%i</b> абʼект <b>%i</b> тыпу"
+msgstr[1] "<b>%i</b> абʼекты <b>%i</b> тыпаў"
+msgstr[2] "<b>%i</b> абʼектаў <b>%i</b> тыпаў"
 
-#: ../src/selection-describer.cpp:215
+#: ../src/selection-describer.cpp:214
 #, c-format
 msgid "%s%s. %s."
-msgstr ""
+msgstr "%s%s. %s."
 
-#: ../src/seltrans.cpp:460 ../src/ui/dialog/transformation.cpp:815
+#: ../src/seltrans.cpp:437
+#: ../src/ui/dialog/transformation.cpp:745
 msgid "Skew"
-msgstr ""
+msgstr "Нахіліць"
 
-#: ../src/seltrans.cpp:472
-#, fuzzy
+#: ../src/seltrans.cpp:449
 msgid "Set center"
-msgstr "Ð\92Ñ\8bбÑ\8fÑ\80Ñ\8bÑ\86е Ð´Ñ\80Ñ\83каÑ\80кÑ\83"
+msgstr "Ð\97адаÑ\86Ñ\8c Ñ\86Ñ\8dнÑ\82аÑ\80"
 
-#: ../src/seltrans.cpp:569
-msgid ""
-"<b>Center</b> of rotation and skewing: drag to reposition; scaling with "
-"Shift also uses this center"
+#: ../src/seltrans.cpp:544
+msgid "<b>Center</b> of rotation and skewing: drag to reposition; scaling with Shift also uses this center"
 msgstr ""
 
-#: ../src/seltrans.cpp:596
-msgid ""
-"<b>Squeeze or stretch</b> selection; with <b>Ctrl</b> to scale uniformly; "
-"with <b>Shift</b> to scale around rotation center"
+#: ../src/seltrans.cpp:571
+msgid "<b>Squeeze or stretch</b> selection; with <b>Ctrl</b> to scale uniformly; with <b>Shift</b> to scale around rotation center"
 msgstr ""
 
-#: ../src/seltrans.cpp:597
-msgid ""
-"<b>Scale</b> selection; with <b>Ctrl</b> to scale uniformly; with <b>Shift</"
-"b> to scale around rotation center"
+#: ../src/seltrans.cpp:572
+msgid "<b>Scale</b> selection; with <b>Ctrl</b> to scale uniformly; with <b>Shift</b> to scale around rotation center"
 msgstr ""
 
-#: ../src/seltrans.cpp:601
-msgid ""
-"<b>Skew</b> selection; with <b>Ctrl</b> to snap angle; with <b>Shift</b> to "
-"skew around the opposite side"
+#: ../src/seltrans.cpp:576
+msgid "<b>Skew</b> selection; with <b>Ctrl</b> to snap angle; with <b>Shift</b> to skew around the opposite side"
 msgstr ""
 
-#: ../src/seltrans.cpp:602
-msgid ""
-"<b>Rotate</b> selection; with <b>Ctrl</b> to snap angle; with <b>Shift</b> "
-"to rotate around the opposite corner"
+#: ../src/seltrans.cpp:577
+msgid "<b>Rotate</b> selection; with <b>Ctrl</b> to snap angle; with <b>Shift</b> to rotate around the opposite corner"
 msgstr ""
 
-#: ../src/seltrans.cpp:736
-#, fuzzy
+#: ../src/seltrans.cpp:711
 msgid "Reset center"
-msgstr "Выбярыце друкарку"
+msgstr "Вернуць цэнтар"
 
-#: ../src/seltrans.cpp:980 ../src/seltrans.cpp:1079
+#: ../src/seltrans.cpp:966
+#: ../src/seltrans.cpp:1096
 #, c-format
 msgid "<b>Scale</b>: %0.2f%% x %0.2f%%; with <b>Ctrl</b> to lock ratio"
 msgstr ""
 
 #. TRANSLATORS: don't modify the first ";"
 #. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1196
+#: ../src/seltrans.cpp:1194
 #, c-format
 msgid "<b>Skew</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
-msgstr ""
+msgstr "<b>Нахіл</b>: %0.2f&#176;; з <b>Ctrl</b> абмежаваць вугал"
 
 #. TRANSLATORS: don't modify the first ";"
 #. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1255
+#: ../src/seltrans.cpp:1243
 #, c-format
 msgid "<b>Rotate</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
-msgstr ""
+msgstr "<b>Паварот</b>: %0.2f&#176;; з <b>Ctrl</b> абмежаваць вугал"
 
-#: ../src/seltrans.cpp:1296
+#: ../src/seltrans.cpp:1286
 #, c-format
 msgid "Move <b>center</b> to %s, %s"
-msgstr ""
+msgstr "Пасунуць <b>цэнтар</b> ў %s, %s"
 
-#: ../src/seltrans.cpp:1457
+#: ../src/seltrans.cpp:1575
 #, c-format
-msgid ""
-"<b>Move</b> by %s, %s; with <b>Ctrl</b> to restrict to horizontal/vertical; "
-"with <b>Shift</b> to disable snapping"
+msgid "<b>Move</b> by %s, %s; with <b>Ctrl</b> to restrict to horizontal/vertical; with <b>Shift</b> to disable snapping"
 msgstr ""
 
-#: ../src/shape-editor.cpp:397
+#: ../src/shape-editor.cpp:371
 msgid "Drag curve"
-msgstr ""
+msgstr "Цягнуць крывую"
 
-#: ../src/sp-anchor.cpp:178
-#, fuzzy, c-format
+#: ../src/sp-anchor.cpp:179
+#, c-format
 msgid "<b>Link</b> to %s"
-msgstr "Злучыць з %s"
+msgstr "<b>Лучыва</b> да %s"
 
-#: ../src/sp-anchor.cpp:182
+#: ../src/sp-anchor.cpp:183
 msgid "<b>Link</b> without URI"
-msgstr ""
+msgstr "<b>Лучыва</b> без URI"
 
-#: ../src/sp-ellipse.cpp:494 ../src/sp-ellipse.cpp:873
-#, fuzzy
+#: ../src/sp-ellipse.cpp:499
+#: ../src/sp-ellipse.cpp:880
 msgid "<b>Ellipse</b>"
-msgstr "Эліпс"
+msgstr "<b>Эліпс</b>"
 
-#: ../src/sp-ellipse.cpp:635
+#: ../src/sp-ellipse.cpp:641
 msgid "<b>Circle</b>"
-msgstr ""
+msgstr "<b>Акружнасьць</b>"
 
-#: ../src/sp-ellipse.cpp:868
+#: ../src/sp-ellipse.cpp:875
 msgid "<b>Segment</b>"
-msgstr ""
+msgstr "<b>Сэгмэнт</b>"
 
-#: ../src/sp-ellipse.cpp:870
+#: ../src/sp-ellipse.cpp:877
 msgid "<b>Arc</b>"
-msgstr ""
+msgstr "<b>Дуга</b>"
 
 #. TRANSLATORS: "Flow region" is an area where text is allowed to flow
-#: ../src/sp-flowregion.cpp:269
-#, fuzzy
+#: ../src/sp-flowregion.cpp:270
+#, fuzzy, c-format
 msgid "Flow region"
-msgstr "Ð\9fÑ\80аÑ\81аÑ\87Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\92Ñ\8bбÑ\80аÑ\86Ñ\8c Ð²Ð¾Ð±Ð»Ð°Ñ\81Ñ\8cÑ\86Ñ\8c"
 
 #. 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
+#: ../src/sp-flowregion.cpp:490
+#, fuzzy, c-format
 msgid "Flow excluded region"
-msgstr ""
+msgstr "_Прылеглая вобласьць"
 
-#: ../src/sp-flowtext.cpp:377
+#: ../src/sp-flowtext.cpp:378
 #, c-format
 msgid "<b>Flowed text</b> (%d character)"
 msgid_plural "<b>Flowed text</b> (%d characters)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>Плыўны тэкст</b> (%d знак)"
+msgstr[1] "<b>Плыўны тэкст</b> (%d знакі)"
+msgstr[2] "<b>Плыўны тэкст</b> (%d знакаў)"
 
-#: ../src/sp-flowtext.cpp:379
+#: ../src/sp-flowtext.cpp:380
 #, c-format
 msgid "<b>Linked flowed text</b> (%d character)"
 msgid_plural "<b>Linked flowed text</b> (%d characters)"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../src/sp-guide.cpp:285
-msgid "Guides around page"
-msgstr ""
+msgstr[0] "<b>Злучаны плыўны тэкст</b> (%d знак)"
+msgstr[1] "<b>Злучаны плыўны тэкст</b> (%d знакі)"
+msgstr[2] "<b>Злучаны плыўны тэкст</b> (%d знакаў)"
 
-#: ../src/sp-guide.cpp:418
-#, fuzzy, c-format
+#: ../src/sp-guide.cpp:398
+#, c-format
 msgid "vertical, at %s"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "вÑ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cнаÑ\8f, Ð»Ñ\8f %s"
 
-#: ../src/sp-guide.cpp:421
-#, fuzzy, c-format
+#: ../src/sp-guide.cpp:400
+#, c-format
 msgid "horizontal, at %s"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "гаÑ\80Ñ\8bзанÑ\82алÑ\8cнаÑ\8f, Ð»Ñ\8f %s"
 
-#: ../src/sp-guide.cpp:426
+#: ../src/sp-guide.cpp:405
 #, c-format
 msgid "at %d degrees, through (%s,%s); <b>Ctrl</b>+click to delete"
 msgstr ""
 
-#: ../src/sp-image.cpp:1098
+#: ../src/sp-image.cpp:1041
 msgid "embedded"
-msgstr ""
+msgstr "убудаваны"
 
-#: ../src/sp-image.cpp:1106
-#, fuzzy, c-format
+#: ../src/sp-image.cpp:1049
+#, c-format
 msgid "<b>Image with bad reference</b>: %s"
-msgstr "Відарыс з кепскай спасылкай: %s"
+msgstr "<b>Відарыс з кепскай спасылкай</b>: %s"
 
-#: ../src/sp-image.cpp:1107
+#: ../src/sp-image.cpp:1050
 #, c-format
 msgid "<b>Image</b> %d &#215; %d: %s"
-msgstr ""
+msgstr "<b>Відарыс</b> %d &#215; %d: %s"
 
-#: ../src/spiral-context.cpp:341
-msgid "<b>Ctrl</b>: snap angle"
-msgstr ""
-
-#: ../src/spiral-context.cpp:343
-msgid "<b>Alt</b>: lock spiral radius"
-msgstr ""
-
-#: ../src/spiral-context.cpp:466
+#: ../src/sp-item-group.cpp:698
 #, c-format
-msgid ""
-"<b>Spiral</b>: radius %s, angle %5g&#176;; with <b>Ctrl</b> to snap angle"
-msgstr ""
-
-#: ../src/spiral-context.cpp:487
-#, fuzzy
-msgid "Create spiral"
-msgstr "Стварыць лучыва"
+msgid "<b>Group</b> of <b>%d</b> object"
+msgid_plural "<b>Group</b> of <b>%d</b> objects"
+msgstr[0] "<b>Ґрупа</b> з <b>%d</b> абʼекта"
+msgstr[1] "<b>Ґрупа</b> з <b>%d</b> абʼектаў"
+msgstr[2] "<b>Ґрупа</b> з <b>%d</b> абʼектаў     "
 
-#: ../src/sp-item.cpp:959
+#: ../src/sp-item.cpp:905
 msgid "Object"
-msgstr "Аб'ект"
+msgstr "Абʼект"
 
-#: ../src/sp-item.cpp:976
-#, c-format
+#: ../src/sp-item.cpp:922
+#, fuzzy, c-format
 msgid "%s; <i>clipped</i>"
-msgstr ""
+msgstr "Абрэзаны да відарыса"
 
-#: ../src/sp-item.cpp:981
+#: ../src/sp-item.cpp:927
 #, c-format
 msgid "%s; <i>masked</i>"
-msgstr ""
-
-#: ../src/sp-item.cpp:986
-#, c-format
-msgid "%s; <i>filtered</i>"
-msgstr ""
-
-#: ../src/sp-item-group.cpp:738
-#, fuzzy, c-format
-msgid "<b>Group</b> of <b>%d</b> object"
-msgid_plural "<b>Group</b> of <b>%d</b> objects"
-msgstr[0] "Група з %d аб'ектаў"
-msgstr[1] "Група з %d аб'ектаў"
+msgstr "%s; <i>маскаваны</i>"
 
-#: ../src/sp-line.cpp:188
+#: ../src/sp-line.cpp:189
 msgid "<b>Line</b>"
-msgstr ""
-
-#: ../src/splivarot.cpp:71 ../src/splivarot.cpp:77
-#, fuzzy
-msgid "Union"
-msgstr "Адкаціцца"
-
-#: ../src/splivarot.cpp:83
-#, fuzzy
-msgid "Intersection"
-msgstr "Вылучэньне"
-
-#: ../src/splivarot.cpp:89 ../src/splivarot.cpp:95
-msgid "Difference"
-msgstr ""
-
-#: ../src/splivarot.cpp:101
-#, fuzzy
-msgid "Exclusion"
-msgstr "Пашырэньне"
-
-#: ../src/splivarot.cpp:106
-msgid "Division"
-msgstr ""
-
-#: ../src/splivarot.cpp:111
-msgid "Cut path"
-msgstr ""
-
-#: ../src/splivarot.cpp:128
-msgid "Select <b>at least 2 paths</b> to perform a boolean operation."
-msgstr ""
-
-#: ../src/splivarot.cpp:132
-msgid "Select <b>at least 1 path</b> to perform a boolean union."
-msgstr ""
-
-#: ../src/splivarot.cpp:138
-msgid ""
-"Select <b>exactly 2 paths</b> to perform difference, XOR, division, or path "
-"cut."
-msgstr ""
-
-#: ../src/splivarot.cpp:155 ../src/splivarot.cpp:170
-msgid ""
-"Unable to determine the <b>z-order</b> of the objects selected for "
-"difference, XOR, division, or path cut."
-msgstr ""
-
-#: ../src/splivarot.cpp:200
-msgid ""
-"One of the objects is <b>not a path</b>, cannot perform boolean operation."
-msgstr ""
-
-#: ../src/splivarot.cpp:610
-#, fuzzy
-msgid "Select <b>stroked path(s)</b> to convert stroke to path."
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
-
-#: ../src/splivarot.cpp:894
-#, fuzzy
-msgid "Convert stroke to path"
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
-
-#. TRANSLATORS: "to outline" means "to convert stroke to path"
-#: ../src/splivarot.cpp:897
-msgid "<b>No stroked paths</b> in the selection."
-msgstr ""
-
-#: ../src/splivarot.cpp:981
-msgid "Selected object is <b>not a path</b>, cannot inset/outset."
-msgstr ""
-
-#: ../src/splivarot.cpp:1101 ../src/splivarot.cpp:1170
-#, fuzzy
-msgid "Create linked offset"
-msgstr "Стварыць лучыва"
-
-#: ../src/splivarot.cpp:1102 ../src/splivarot.cpp:1171
-#, fuzzy
-msgid "Create dynamic offset"
-msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
-
-#: ../src/splivarot.cpp:1198
-msgid "Select <b>path(s)</b> to inset/outset."
-msgstr ""
-
-#: ../src/splivarot.cpp:1416
-#, fuzzy
-msgid "Outset path"
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
-
-#: ../src/splivarot.cpp:1416
-#, fuzzy
-msgid "Inset path"
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
-
-#: ../src/splivarot.cpp:1418
-msgid "<b>No paths</b> to inset/outset in the selection."
-msgstr ""
-
-#: ../src/splivarot.cpp:1579
-msgid "Simplifying paths (separately):"
-msgstr ""
-
-#: ../src/splivarot.cpp:1581
-msgid "Simplifying paths:"
-msgstr ""
-
-#: ../src/splivarot.cpp:1618
-#, c-format
-msgid "%s <b>%d</b> of <b>%d</b> paths simplified..."
-msgstr ""
-
-#: ../src/splivarot.cpp:1629
-#, c-format
-msgid "<b>%d</b> paths simplified."
-msgstr ""
-
-#: ../src/splivarot.cpp:1645
-msgid "Select <b>path(s)</b> to simplify."
-msgstr ""
-
-#: ../src/splivarot.cpp:1659
-msgid "Simplify"
-msgstr ""
-
-#: ../src/splivarot.cpp:1661
-msgid "<b>No paths</b> to simplify in the selection."
-msgstr ""
+msgstr "<b>Лінія</b>"
 
 #. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign
-#: ../src/sp-offset.cpp:432
-#, c-format
+#: ../src/sp-offset.cpp:433
+#, fuzzy, c-format
 msgid "<b>Linked offset</b>, %s by %f pt"
-msgstr ""
+msgstr "<b>Дынамічны зрух</b>, %s на %f pt"
 
-#: ../src/sp-offset.cpp:433 ../src/sp-offset.cpp:437
+#: ../src/sp-offset.cpp:434
+#: ../src/sp-offset.cpp:438
 msgid "outset"
-msgstr ""
+msgstr "расьцягваньне"
 
-#: ../src/sp-offset.cpp:433 ../src/sp-offset.cpp:437
-#, fuzzy
+#: ../src/sp-offset.cpp:434
+#: ../src/sp-offset.cpp:438
 msgid "inset"
-msgstr "Друкаваць"
+msgstr "сьцісканьне"
 
 #. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign
-#: ../src/sp-offset.cpp:436
+#: ../src/sp-offset.cpp:437
 #, c-format
 msgid "<b>Dynamic offset</b>, %s by %f pt"
-msgstr ""
+msgstr "<b>Дынамічны зрух</b>, %s на %f pt"
 
-#: ../src/sp-path.cpp:135
+#: ../src/sp-path.cpp:140
 #, c-format
 msgid "<b>Path</b> (%i node, path effect)"
-msgid_plural "<b>Path</b> (%i nodes, path effect)"
-msgstr[0] ""
-msgstr[1] ""
+msgid_plural "<b>Path</b> (%i nodes, path effect)"
+msgstr[0] "<b>Шлях</b> (%i вузел, эфэкт шляху)"
+msgstr[1] "<b>Шлях</b> (%i вузлы, эфэкт шляху)"
+msgstr[2] "<b>Шлях</b> (%i вузлоў, эфэкт шляху)"
 
-#: ../src/sp-path.cpp:138
+#: ../src/sp-path.cpp:143
 #, c-format
 msgid "<b>Path</b> (%i node)"
 msgid_plural "<b>Path</b> (%i nodes)"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>Шлях</b> (%i вузел)"
+msgstr[1] "<b>Шлях</b> (%i вузлы)"
+msgstr[2] "<b>Шлях</b> (%i вузлоў)"
 
-#: ../src/sp-path.cpp:540
-#, fuzzy
+#: ../src/sp-path.cpp:571
 msgid "Creating single dot"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð°Ð´Ð½Ð¾Ð¹ ÐºÑ\80опкÑ\96"
 
-#: ../src/sp-path.cpp:541
-#, fuzzy
+#: ../src/sp-path.cpp:572
 msgid "Create single dot"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð°Ð´Ð½Ñ\83 ÐºÑ\80опкÑ\83"
 
 #: ../src/sp-polygon.cpp:235
 msgid "<b>Polygon</b>"
-msgstr ""
+msgstr "<b>Шматкутнік</b>"
 
-#: ../src/sp-polyline.cpp:177
+#: ../src/sp-polyline.cpp:178
 msgid "<b>Polyline</b>"
-msgstr ""
+msgstr "<b>Ламаная</b>"
 
-#: ../src/sp-rect.cpp:226
-#, fuzzy
+#: ../src/sp-rect.cpp:242
 msgid "<b>Rectangle</b>"
-msgstr "Прамакутнік"
+msgstr "<b>Прастакутнік</b>"
 
 #. 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
+#: ../src/sp-spiral.cpp:331
 #, c-format
 msgid "<b>Spiral</b> with %3f turns"
-msgstr ""
+msgstr "<b>Сьпіраль</b> мае аваротаў: %3f"
 
-#: ../src/sp-star.cpp:307
+#: ../src/sp-star.cpp:311
 #, c-format
 msgid "<b>Star</b> with %d vertex"
 msgid_plural "<b>Star</b> with %d vertices"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>Зорка</b> з %d вяршыняй"
+msgstr[1] "<b>Зорка</b> з %d вяршынямі"
+msgstr[2] "<b>Зорка</b> з %d вяршынямі"
 
-#: ../src/sp-star.cpp:311
+#: ../src/sp-star.cpp:315
 #, c-format
 msgid "<b>Polygon</b> with %d vertex"
 msgid_plural "<b>Polygon</b> with %d vertices"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>Шматкутнік</b> з %d вяршыняй"
+msgstr[1] "<b>Шматкутнік</b> з %d вяршынямі"
+msgstr[2] "<b>Шматкутнік</b> з %d вяршынямі"
 
 #: ../src/sp-switch.cpp:100
 #, c-format
 msgid "<b>Conditional group</b> of <b>%d</b> object"
 msgid_plural "<b>Conditional group</b> of <b>%d</b> objects"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "<b>Умоўная ґрупа</b> з <b>%d</b> абʼекта"
+msgstr[1] "<b>Умоўная ґрупа</b> з <b>%d</b> абʼектаў"
+msgstr[2] "<b>Умоўная ґрупа</b> з <b>%d</b> абʼектаў"
 
 #. TRANSLATORS: For description of font with no name.
-#: ../src/sp-text.cpp:414
+#: ../src/sp-text.cpp:415
 msgid "&lt;no name found&gt;"
-msgstr ""
+msgstr "&lt;назва не адшуканая&gt;"
 
-#: ../src/sp-text.cpp:420
+#: ../src/sp-text.cpp:421
 #, c-format
 msgid "<b>Text on path</b> (%s, %s)"
-msgstr ""
+msgstr "<b>Тэкст на шляху</b> (%s, %s)"
 
-#: ../src/sp-text.cpp:421
+#: ../src/sp-text.cpp:422
 #, c-format
 msgid "<b>Text</b> (%s, %s)"
-msgstr ""
+msgstr "<b>Тэкст</b> (%s, %s)"
 
-#: ../src/sp-tref.cpp:368
+#: ../src/sp-tref.cpp:359
 #, c-format
-msgid "<b>Cloned character data</b>%s%s"
-msgstr ""
+msgid "<b>Cloned character data</b> from: %s"
+msgstr "<b>Скланаваныя знакавыя даньні</b> %s"
 
-#: ../src/sp-tref.cpp:369
-msgid " from "
-msgstr ""
-
-#: ../src/sp-tref.cpp:374
+#: ../src/sp-tref.cpp:363
 msgid "<b>Orphaned cloned character data</b>"
-msgstr ""
+msgstr "<b>Асірацелыя кланаваныя знакавыя даньні</b>"
 
-#: ../src/sp-tspan.cpp:284
+#: ../src/sp-tspan.cpp:285
 #, fuzzy
 msgid "<b>Text span</b>"
-msgstr "Ð\9fÑ\80амакÑ\83Ñ\82нÑ\96к"
+msgstr "ХоÑ\80да ÐºÑ\83Ñ\82а:"
 
 #. TRANSLATORS: Used for statusbar description for long <use> chains:
 #. * "Clone of: Clone of: ... in Layer 1".
-#: ../src/sp-use.cpp:318
-#, fuzzy
+#: ../src/sp-use.cpp:320
+#: ../src/ui/widget/panel.cpp:173
 msgid "..."
-msgstr "Адкрыць..."
+msgstr ""
 
-#: ../src/sp-use.cpp:326
+#: ../src/sp-use.cpp:328
 #, c-format
 msgid "<b>Clone</b> of: %s"
-msgstr ""
+msgstr "<b>Скланаваны абʼект</b>: %s"
 
-#: ../src/sp-use.cpp:330
+#: ../src/sp-use.cpp:332
 msgid "<b>Orphaned clone</b>"
-msgstr ""
+msgstr "<b>Асірацелы клон</b>"
+
+#: ../src/spiral-context.cpp:339
+msgid "<b>Ctrl</b>: snap angle"
+msgstr "<b>Ctrl</b>: абмежаваць вугал"
+
+#: ../src/spiral-context.cpp:341
+msgid "<b>Alt</b>: lock spiral radius"
+msgstr "<b>Alt</b>: замкнуць радыюс сьпіралі"
+
+#: ../src/spiral-context.cpp:463
+#, c-format
+msgid "<b>Spiral</b>: radius %s, angle %5g&#176;; with <b>Ctrl</b> to snap angle"
+msgstr "<b>Сьпіраль</b>: радыюс %s, вугал %5g&#176;; з <b>Ctrl</b> абмежаваць вугал"
+
+#: ../src/spiral-context.cpp:484
+msgid "Create spiral"
+msgstr "Стварыць сьпіраль"
+
+#: ../src/splivarot.cpp:71
+#: ../src/splivarot.cpp:77
+msgid "Union"
+msgstr "Абʼяднаньне"
+
+#: ../src/splivarot.cpp:83
+msgid "Intersection"
+msgstr "Перасячэньне"
+
+#: ../src/splivarot.cpp:89
+msgid "Difference"
+msgstr "Рознасьць"
+
+#: ../src/splivarot.cpp:95
+msgid "Exclusion"
+msgstr "Выключэньне"
+
+#: ../src/splivarot.cpp:100
+msgid "Division"
+msgstr "Дзяленьне"
+
+#: ../src/splivarot.cpp:105
+msgid "Cut path"
+msgstr "Разрэзаць шлях"
+
+#: ../src/splivarot.cpp:122
+msgid "Select <b>at least 2 paths</b> to perform a boolean operation."
+msgstr "Вылучы <b>прынамсі 2 шляхі</b> каб выканаць ляґічную апэрацыю."
+
+#: ../src/splivarot.cpp:126
+msgid "Select <b>at least 1 path</b> to perform a boolean union."
+msgstr "Вылучы <b>прынамсі 1 шлях</b>, каб выканаць ляґічнае абʼяднаньне."
+
+#: ../src/splivarot.cpp:132
+msgid "Select <b>exactly 2 paths</b> to perform difference, XOR, division, or path cut."
+msgstr "Вылучы <b>дакладна 2 шляхі</b>, каб выканаць рознасьць, выключэньня, дзяленьне ці выразаньне."
+
+#: ../src/splivarot.cpp:149
+#: ../src/splivarot.cpp:164
+msgid "Unable to determine the <b>z-order</b> of the objects selected for difference, XOR, division, or path cut."
+msgstr "Немагчыма вызначыць <b>z-парадак</b> абʼектаў, вылучаных для рознасьці, выключэньня, дзяленьня ці выразаньня."
+
+#: ../src/splivarot.cpp:194
+msgid "One of the objects is <b>not a path</b>, cannot perform boolean operation."
+msgstr "Адзін з абʼектаў <b>не зьяўляецца шляхам</b>, немагчыма выканаць ляґічную апэрацыі."
+
+#: ../src/splivarot.cpp:604
+msgid "Select <b>stroked path(s)</b> to convert stroke to path."
+msgstr "Вылучы <b>абведзены шлях</b>, каб ператварыць контур у шлях."
+
+#: ../src/splivarot.cpp:888
+msgid "Convert stroke to path"
+msgstr "Ператварыць контур у шлях"
 
-#: ../src/star-context.cpp:352
+#. TRANSLATORS: "to outline" means "to convert stroke to path"
+#: ../src/splivarot.cpp:891
+msgid "<b>No stroked paths</b> in the selection."
+msgstr "Вылучэньне <b>ня мае абведзеных шляхоў</b>."
+
+#: ../src/splivarot.cpp:975
+msgid "Selected object is <b>not a path</b>, cannot inset/outset."
+msgstr "Вылучаны абʼект <b>не зьяўляецца шляхам</b>, немагчыма расьцягнуць/сьціснуць."
+
+#: ../src/splivarot.cpp:1095
+#: ../src/splivarot.cpp:1164
+msgid "Create linked offset"
+msgstr "Стварыць злучаны зрух"
+
+#: ../src/splivarot.cpp:1096
+#: ../src/splivarot.cpp:1165
+msgid "Create dynamic offset"
+msgstr "Стварыць дынамічны зрух"
+
+#: ../src/splivarot.cpp:1192
+msgid "Select <b>path(s)</b> to inset/outset."
+msgstr "Вылучы <b>шлях(і)</b>, каб расьцягнуць/сьціснуць."
+
+#: ../src/splivarot.cpp:1410
+msgid "Outset path"
+msgstr "Расьцягнуць шлях"
+
+#: ../src/splivarot.cpp:1410
+msgid "Inset path"
+msgstr "Сьціснуць шлях"
+
+#: ../src/splivarot.cpp:1412
+msgid "<b>No paths</b> to inset/outset in the selection."
+msgstr "Вылучэньне <b>ня мае шляхоў</b> якія можна расьцягнуць/сьціснуць."
+
+#: ../src/splivarot.cpp:1573
+msgid "Simplifying paths (separately):"
+msgstr "Спрошчваньне шляхоў (паасобку):"
+
+#: ../src/splivarot.cpp:1575
+msgid "Simplifying paths:"
+msgstr "Спрошчваньне шляхоў:"
+
+#: ../src/splivarot.cpp:1612
+#, c-format
+msgid "%s <b>%d</b> of <b>%d</b> paths simplified..."
+msgstr "%s <b>%d</b> з <b>%d</b> шляхоў спрошчана…"
+
+#: ../src/splivarot.cpp:1623
+#, c-format
+msgid "<b>%d</b> paths simplified."
+msgstr "Спрошчана <b>%d</b> шляхоў."
+
+#: ../src/splivarot.cpp:1639
+msgid "Select <b>path(s)</b> to simplify."
+msgstr "Вылучы <b>шлях(і)</b> для спрошчваньня."
+
+#: ../src/splivarot.cpp:1653
+msgid "Simplify"
+msgstr "Спросьціць"
+
+#: ../src/splivarot.cpp:1655
+msgid "<b>No paths</b> to simplify in the selection."
+msgstr "<b>Няма шляхоў</b>, каб спросьціць вылучэньне."
+
+#: ../src/star-context.cpp:353
 msgid "<b>Ctrl</b>: snap angle; keep rays radial"
-msgstr ""
+msgstr "<b>Ctrl</b>: абмежаваць вугал; трымаць промні радыяльнымі"
 
 #: ../src/star-context.cpp:476
 #, c-format
-msgid ""
-"<b>Polygon</b>: radius %s, angle %5g&#176;; with <b>Ctrl</b> to snap angle"
-msgstr ""
+msgid "<b>Polygon</b>: radius %s, angle %5g&#176;; with <b>Ctrl</b> to snap angle"
+msgstr "<b>Шматкутнік</b>: радыюс %s, вугал %5g&#176;; з <b>Ctrl</b> абмежаваць вугал"
 
 #: ../src/star-context.cpp:477
 #, c-format
 msgid "<b>Star</b>: radius %s, angle %5g&#176;; with <b>Ctrl</b> to snap angle"
-msgstr ""
+msgstr "<b>Зорка</b>: радыюс %s, вугал %5g&#176;; з <b>Ctrl</b> абмежаваць вугал"
 
 #: ../src/star-context.cpp:500
-#, fuzzy
 msgid "Create star"
-msgstr "ЭкÑ\81паÑ\80Ñ\82аваÑ\86Ñ\8c ÐºÑ\80опкавÑ\8b Ð²Ñ\96даÑ\80Ñ\8bÑ\81"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð·Ð¾Ñ\80кÑ\83"
 
 #: ../src/text-chemistry.cpp:104
 msgid "Select <b>a text and a path</b> to put text on path."
-msgstr ""
+msgstr "Выберы <b>тэкст і шлях</b>, каб разьмесьціць тэкст на шляху."
 
 #: ../src/text-chemistry.cpp:109
-msgid ""
-"This text object is <b>already put on a path</b>. Remove it from the path "
-"first. Use <b>Shift+D</b> to look up its path."
-msgstr ""
+msgid "This text object is <b>already put on a path</b>. Remove it from the path first. Use <b>Shift+D</b> to look up its path."
+msgstr "Гэты тэкставы абʼект <b>ужо накладзены на шлях</b>. Спачатку прыбяры яго са шляху. Выкарыстоўвай <b>Shift+D</b>, каб адшукаць яго шлях."
 
 #. rect is the only SPShape which is not <path> 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 <b>visible</b> in order to be put on a path."
 msgstr ""
 
-#: ../src/text-chemistry.cpp:192 ../src/verbs.cpp:2283
+#: ../src/text-chemistry.cpp:192
+#: ../src/verbs.cpp:2246
 msgid "Put text on path"
-msgstr ""
+msgstr "Накласьці тэкст на шлях"
 
 #: ../src/text-chemistry.cpp:204
 msgid "Select <b>a text on path</b> to remove it from path."
-msgstr ""
+msgstr "Вылучы <b>тэкст на шляху</b>, каб прыбраць яго."
 
 #: ../src/text-chemistry.cpp:226
 msgid "<b>No texts-on-paths</b> in the selection."
-msgstr ""
+msgstr "Вылучэньне <b>ня мае тэксту-на-шляху</b>."
 
-#: ../src/text-chemistry.cpp:229 ../src/verbs.cpp:2285
-#, fuzzy
+#: ../src/text-chemistry.cpp:229
+#: ../src/verbs.cpp:2248
 msgid "Remove text from path"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cнÑ\96"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ñ\82Ñ\8dкÑ\81Ñ\82 Ð· Ñ\88лÑ\8fÑ\85Ñ\83"
 
-#: ../src/text-chemistry.cpp:269 ../src/text-chemistry.cpp:290
+#: ../src/text-chemistry.cpp:269
+#: ../src/text-chemistry.cpp:290
 msgid "Select <b>text(s)</b> to remove kerns from."
-msgstr ""
+msgstr "Вылучы <b>тэкст</b>, зь якога прыбраць кернінґ."
 
 #: ../src/text-chemistry.cpp:293
-#, fuzzy
 msgid "Remove manual kerns"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ñ\80Ñ\83Ñ\87нÑ\8b ÐºÐµÑ\80нÑ\96нÒ\91"
 
 #: ../src/text-chemistry.cpp:313
-msgid ""
-"Select <b>a text</b> and one or more <b>paths or shapes</b> to flow text "
-"into frame."
+msgid "Select <b>a text</b> and one or more <b>paths or shapes</b> to flow text into frame."
 msgstr ""
 
 #: ../src/text-chemistry.cpp:381
 #, fuzzy
 msgid "Flow text into shape"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\83зел Ñ\82Ñ\8dкÑ\81Ñ\82а"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð³Ñ\8dÑ\82Ñ\8b Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8b Ð¿Ð»Ð°Ñ\81Ñ\82 Ñ\83 Ð·Ð²Ñ\8bÑ\87айнÑ\8b Ð¿Ð»Ð°Ñ\81Ñ\82"
 
 #: ../src/text-chemistry.cpp:403
+#, fuzzy
 msgid "Select <b>a flowed text</b> to unflow it."
-msgstr ""
+msgstr "Вылучы <b>тэкст на шляху</b>, каб прыбраць яго."
 
 #: ../src/text-chemistry.cpp:470
+#, fuzzy
 msgid "Unflow flowed text"
-msgstr ""
+msgstr "<b>Плыўны тэкст</b> (%d знак)"
 
 #: ../src/text-chemistry.cpp:482
 #, fuzzy
 msgid "Select <b>flowed text(s)</b> to convert."
-msgstr "Выразае вылучаныя аб'екты ў буфэр абмену"
+msgstr "Вылучэньне <b>ня мае плыўнога тэксту</b>, які можна ператварыць."
 
 #: ../src/text-chemistry.cpp:500
 msgid "The flowed text(s) must be <b>visible</b> in order to be converted."
 msgstr ""
 
 #: ../src/text-chemistry.cpp:528
-#, fuzzy
 msgid "Convert flowed text to text"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ð»Ñ\8bÑ\9eнÑ\8b Ñ\82Ñ\8dкÑ\81Ñ\82 Ñ\83 Ñ\82Ñ\8dкÑ\81Ñ\82"
 
 #: ../src/text-chemistry.cpp:533
-#, fuzzy
 msgid "<b>No flowed text(s)</b> to convert in the selection."
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне <b>нÑ\8f Ð¼Ð°Ðµ Ð¿Ð»Ñ\8bÑ\9eнога Ñ\82Ñ\8dкÑ\81Ñ\82Ñ\83</b>, Ñ\8fкÑ\96 Ð¼Ð¾Ð¶Ð½Ð° Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c."
 
 #: ../src/text-context.cpp:452
 msgid "<b>Click</b> to edit the text, <b>drag</b> to select part of the text."
-msgstr ""
+msgstr "<b>Пстрыкні</b>, каб правіць тэкст, <b>пацягні</b>, каб вылучыць частку тэксту."
 
 #: ../src/text-context.cpp:454
-msgid ""
-"<b>Click</b> to edit the flowed text, <b>drag</b> to select part of the text."
+msgid "<b>Click</b> to edit the flowed text, <b>drag</b> to select part of the text."
 msgstr ""
 
 #: ../src/text-context.cpp:508
-#, fuzzy
 msgid "Create text"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ñ\82Ñ\8dкÑ\81Ñ\82"
 
 #: ../src/text-context.cpp:532
 msgid "Non-printable character"
-msgstr ""
+msgstr "Недрукавальны знак"
 
 #: ../src/text-context.cpp:547
 msgid "Insert Unicode character"
-msgstr ""
+msgstr "Уставіць знак Unicode"
 
 #: ../src/text-context.cpp:582
 #, c-format
 msgid "Unicode (<b>Enter</b> to finish): %s: %s"
-msgstr ""
+msgstr "Unicode (<b>Enter</b> каб скончыць): %s: %s"
 
-#: ../src/text-context.cpp:584 ../src/text-context.cpp:849
+#: ../src/text-context.cpp:584
+#: ../src/text-context.cpp:849
 msgid "Unicode (<b>Enter</b> to finish): "
-msgstr ""
+msgstr "Unicode (<b>Enter</b>, каб скончыць): "
 
 #: ../src/text-context.cpp:659
-#, c-format
+#, fuzzy, c-format
 msgid "<b>Flowed text frame</b>: %s &#215; %s"
-msgstr ""
+msgstr "<b>Злучаны плыўны тэкст</b> (%d знак)"
 
-#: ../src/text-context.cpp:691 ../src/text-context.cpp:1544
+#: ../src/text-context.cpp:691
+#: ../src/text-context.cpp:1544
 msgid "Type text; <b>Enter</b> to start new line."
-msgstr ""
+msgstr "Пішы тэкст, <b>Enter</b>, каб пачаць новы радок."
 
 #: ../src/text-context.cpp:704
 msgid "Flowed text is created."
-msgstr ""
+msgstr "Плыўны тэкст створаны."
 
 #: ../src/text-context.cpp:706
-#, fuzzy
 msgid "Create flowed text"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ð»Ñ\8bÑ\9eнÑ\8b Ñ\82Ñ\8dкÑ\81Ñ\82"
 
 #: ../src/text-context.cpp:708
-msgid ""
-"The frame is <b>too small</b> for the current font size. Flowed text not "
-"created."
+msgid "The frame is <b>too small</b> 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
 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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð½Ð¾Ð²Ð°Ðµ Ð°ÐºÐ½Ð¾ Ñ\80Ñ\8dдагаванÑ\8cнÑ\8f"
+msgstr "Ð\9dовÑ\8b Ñ\80адок"
 
 #: ../src/text-context.cpp:964
 msgid "Backspace"
-msgstr ""
+msgstr "Backspace"
 
 #: ../src/text-context.cpp:1012
 msgid "Kern to the left"
-msgstr ""
+msgstr "Кернінґ улева"
 
 #: ../src/text-context.cpp:1034
 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 "Ð\9fаваÑ\80оÑ\87вае Ð°Ð±'екÑ\82 Ð½Ð° 90° Ð¿Ð° Ñ\81онÑ\86Ñ\83"
+msgstr "Ð\9fавеÑ\80нÑ\83Ñ\86Ñ\8c Ñ\81Ñ\83пÑ\80аÑ\86Ñ\8c Ñ\81Ñ\82Ñ\80Ñ\8dлкÑ\96"
 
 #: ../src/text-context.cpp:1156
-#, fuzzy
 msgid "Rotate clockwise"
-msgstr "Ð\9fаваÑ\80оÑ\87вае Ð°Ð±'екÑ\82 Ð½Ð° 90° Ð¿Ð° Ñ\81онÑ\86Ñ\83"
+msgstr "Ð\9fавеÑ\80нÑ\83Ñ\86Ñ\8c Ð·Ð° Ñ\81Ñ\82Ñ\80Ñ\8dлкай"
 
 #: ../src/text-context.cpp:1173
-#, fuzzy
 msgid "Contract line spacing"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\97Ñ\8cменÑ\88Ñ\8bÑ\86Ñ\8c Ð¼Ñ\96жÑ\80адковÑ\8b Ñ\96нÑ\82Ñ\8dÑ\80вал"
 
 #: ../src/text-context.cpp:1181
 msgid "Contract letter spacing"
-msgstr ""
+msgstr "Зьменшыць міжлітарны інтэрвал"
 
 #: ../src/text-context.cpp:1200
-#, fuzzy
 msgid "Expand line spacing"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\9fаÑ\88Ñ\8bÑ\80Ñ\8bÑ\86Ñ\8c Ð¼Ñ\96жÑ\80адковÑ\8b Ñ\96нÑ\82Ñ\8dÑ\80вал"
 
 #: ../src/text-context.cpp:1208
-#, fuzzy
 msgid "Expand letter spacing"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\9fаÑ\88Ñ\8bÑ\80Ñ\8bÑ\86Ñ\8c Ð¼Ñ\96жлÑ\96Ñ\82аÑ\80нÑ\8b Ñ\96нÑ\82Ñ\8dÑ\80вал"
 
 #: ../src/text-context.cpp:1312
-#, fuzzy
 msgid "Paste text"
-msgstr "СÑ\82Ñ\8bлÑ\8c Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c Ñ\82Ñ\8dкÑ\81Ñ\82"
 
 #: ../src/text-context.cpp:1542
 msgid "Type flowed text; <b>Enter</b> to start new paragraph."
 msgstr ""
 
-#: ../src/text-context.cpp:1552 ../src/tools-switch.cpp:211
-msgid ""
-"<b>Click</b> to select or create text, <b>drag</b> to create flowed text; "
-"then type."
+#: ../src/text-context.cpp:1552
+#: ../src/tools-switch.cpp:208
+msgid "<b>Click</b> to select or create text, <b>drag</b> to create flowed text; then type."
 msgstr ""
 
 #: ../src/text-context.cpp:1659
-#, fuzzy
 msgid "Type text"
-msgstr "ТÑ\8bп:"
+msgstr "Ð\9dабÑ\96Ñ\80ай Ñ\82Ñ\8dкÑ\81Ñ\82"
 
 #: ../src/text-editing.cpp:40
 msgid "You cannot edit <b>cloned character data</b>."
-msgstr ""
+msgstr "Немагчыма правіць <b>кланаваныя знакавыя даньні</b>."
 
-#: ../src/tools-switch.cpp:151
-msgid ""
-"To edit a path, <b>click</b>, <b>Shift+click</b>, or <b>drag around</b> "
-"nodes to select them, then <b>drag</b> nodes and handles. <b>Click</b> on an "
-"object to select."
+#: ../src/tools-switch.cpp:148
+msgid "To edit a path, <b>click</b>, <b>Shift+click</b>, or <b>drag around</b> nodes to select them, then <b>drag</b> nodes and handles. <b>Click</b> on an object to select."
 msgstr ""
 
-#: ../src/tools-switch.cpp:157
+#: ../src/tools-switch.cpp:154
 msgid "To tweak a path by pushing, select it and drag over it."
 msgstr ""
 
-#: ../src/tools-switch.cpp:163
-msgid ""
-"<b>Drag</b> to create a rectangle. <b>Drag controls</b> to round corners and "
-"resize. <b>Click</b> to select."
-msgstr ""
+#: ../src/tools-switch.cpp:160
+msgid "<b>Drag</b> to create a rectangle. <b>Drag controls</b> to round corners and resize. <b>Click</b> to select."
+msgstr "<b>Пацягні</b>, каб стварыць прастакутнік. <b>Пацягні кіроўныя пункты</b>, каб закругліць куты й зьмяніць памер. <b>Пстрыкні</b>, каб выбраць."
 
-#: ../src/tools-switch.cpp:169
-msgid ""
-"<b>Drag</b> to create a 3D box. <b>Drag controls</b> to resize in "
-"perspective. <b>Click</b> to select (with <b>Ctrl+Alt</b> for single faces)."
-msgstr ""
+#: ../src/tools-switch.cpp:166
+msgid "<b>Drag</b> to create a 3D box. <b>Drag controls</b> to resize in perspective. <b>Click</b> to select (with <b>Ctrl+Alt</b> for single faces)."
+msgstr "<b>Пацягні</b>, каб стварыць скрыню. <b>Пацягні кіроўныя пункты</b>, каб зьмяніць памер у пэрспэктыве. <b>Пстрыкні</b>, каб выбраць (з <b>Ctrl+Alt</b> асобную паверню)."
 
-#: ../src/tools-switch.cpp:175
-msgid ""
-"<b>Drag</b> to create an ellipse. <b>Drag controls</b> to make an arc or "
-"segment. <b>Click</b> to select."
-msgstr ""
+#: ../src/tools-switch.cpp:172
+msgid "<b>Drag</b> to create an ellipse. <b>Drag controls</b> to make an arc or segment. <b>Click</b> to select."
+msgstr "<b>Пацягні</b>, каб стварыць эліпс. <b>Пацягні кіроўныя пункты</b>, каб стварыць дугу ці сэгмэнт. <b>Пстрыкні</b>, каб выбраць."
 
-#: ../src/tools-switch.cpp:181
-msgid ""
-"<b>Drag</b> to create a star. <b>Drag controls</b> to edit the star shape. "
-"<b>Click</b> to select."
-msgstr ""
+#: ../src/tools-switch.cpp:178
+msgid "<b>Drag</b> to create a star. <b>Drag controls</b> to edit the star shape. <b>Click</b> to select."
+msgstr "<b>Пацягні</b>, каб стварыць зорку. <b>Пацягні кіроўныя пункты</b>, каб зьмяніць форму зоркі. <b>Пстрыкні</b>, каб выбраць."
 
-#: ../src/tools-switch.cpp:187
-msgid ""
-"<b>Drag</b> to create a spiral. <b>Drag controls</b> to edit the spiral "
-"shape. <b>Click</b> to select."
-msgstr ""
+#: ../src/tools-switch.cpp:184
+msgid "<b>Drag</b> to create a spiral. <b>Drag controls</b> to edit the spiral shape. <b>Click</b> to select."
+msgstr "<b>Пацягні</b>, каб стварыць сьпіраль. <b>Пацягні кіроўныя пункты</b>, каб зьмяніць форму сьпіралі. <b>Пстрыкні</b>, каб выбраць."
 
-#: ../src/tools-switch.cpp:193
-msgid ""
-"<b>Drag</b> to create a freehand line. Start drawing with <b>Shift</b> to "
-"append to selected path. <b>Ctrl+click</b> to create single dots."
-msgstr ""
+#: ../src/tools-switch.cpp:190
+msgid "<b>Drag</b> to create a freehand line. Start drawing with <b>Shift</b> to append to selected path. <b>Ctrl+click</b> to create single dots."
+msgstr "<b>Пацягні</b>, каб стварыць лінію ад рукі. <b>Пацягні кіроўныя пункты</b>, каб дадаць да вылучанага шляха. <b>Ctrl+пстрычка</b>, каб стварыць асобны пункт."
 
-#: ../src/tools-switch.cpp:199
-msgid ""
-"<b>Click</b> or <b>click and drag</b> to start a path; with <b>Shift</b> to "
-"append to selected path. <b>Ctrl+click</b> to create single dots."
-msgstr ""
+#: ../src/tools-switch.cpp:196
+msgid "<b>Click</b> or <b>click and drag</b> to start a path; with <b>Shift</b> to append to selected path. <b>Ctrl+click</b> to create single dots."
+msgstr "<b>Пстрыкні</b> ці <b>пстрыкні й пацягні</b>, каб стварыць шлях; з <b>Shift</b> дадае да вылучанага шляха, <b>Ctrl+пстрычка</b> стварае асобны пункт."
 
-#: ../src/tools-switch.cpp:205
-msgid ""
-"<b>Drag</b> to draw a calligraphic stroke; with <b>Ctrl</b> to track a "
-"guide, with <b>Alt</b> to thin/thicken. <b>Arrow keys</b> adjust width (left/"
-"right) and angle (up/down)."
-msgstr ""
+#: ../src/tools-switch.cpp:202
+msgid "<b>Drag</b> to draw a calligraphic stroke; with <b>Ctrl</b> to track a guide, with <b>Alt</b> to thin/thicken. <b>Arrow keys</b> adjust width (left/right) and angle (up/down)."
+msgstr "<b>Пацягні</b>, каб стварыць каліґрафічны штрых; з <b>Ctrl</b> адсочваць накіроўныя, з <b>Alt</b> патанчаць/пашыраць. <b>Стрэлкамі</b> рэгулюй таўшчыню (улева/управа) і вугал (уверх/уніз)."
 
-#: ../src/tools-switch.cpp:217
-msgid ""
-"<b>Drag</b> or <b>double click</b> to create a gradient on selected objects, "
-"<b>drag handles</b> to adjust gradients."
-msgstr ""
+#: ../src/tools-switch.cpp:214
+msgid "<b>Drag</b> or <b>double click</b> to create a gradient on selected objects, <b>drag handles</b> to adjust gradients."
+msgstr "<b>Пацягні</b> ці <b>двойчы пстрыкні</b>, каб стварыць ґрадыент на вылучаных абʼектах, <b>пацягні за ручкі</b>, каб адрэґуляваць ґрадыенты."
 
-#: ../src/tools-switch.cpp:223
-msgid ""
-"<b>Click</b> or <b>drag around an area</b> to zoom in, <b>Shift+click</b> to "
-"zoom out."
+#: ../src/tools-switch.cpp:220
+msgid "<b>Click</b> or <b>drag around an area</b> to zoom in, <b>Shift+click</b> to zoom out."
 msgstr ""
 
-#: ../src/tools-switch.cpp:235
+#: ../src/tools-switch.cpp:232
 msgid "<b>Click and drag</b> between shapes to create a connector."
 msgstr ""
 
-#: ../src/tools-switch.cpp:241
-msgid ""
-"<b>Click</b> to paint a bounded area, <b>Shift+click</b> to union the new "
-"fill with the current selection, <b>Ctrl+click</b> to change the clicked "
-"object's fill and stroke to the current setting."
+#: ../src/tools-switch.cpp:238
+msgid "<b>Click</b> to paint a bounded area, <b>Shift+click</b> to union the new fill with the current selection, <b>Ctrl+click</b> to change the clicked object's fill and stroke to the current setting."
 msgstr ""
 
-#: ../src/tools-switch.cpp:247
-#, fuzzy
-msgid "<b>Drag</b> to erase."
-msgstr "Злучыць з %s"
-
-#: ../src/trace/potrace/inkscape-potrace.cpp:524
-#: ../src/trace/potrace/inkscape-potrace.cpp:598
+#: ../src/trace/potrace/inkscape-potrace.cpp:500
+#: ../src/trace/potrace/inkscape-potrace.cpp:574
 #, 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:69
+#: ../src/trace/trace.cpp:134
+#: ../src/trace/trace.cpp:142
+#: ../src/trace/trace.cpp:241
 msgid "Select an <b>image</b> to trace"
-msgstr ""
+msgstr "Вылучы <b>відарыс</b>, які трэба абвесьці"
 
-#: ../src/trace/trace.cpp:106
+#: ../src/trace/trace.cpp:104
 msgid "Select only one <b>image</b> to trace"
-msgstr ""
+msgstr "Вылучы толькі адзін <b>відарыс</b> для абводжаньня"
 
-#: ../src/trace/trace.cpp:124
+#: ../src/trace/trace.cpp:122
 msgid "Select one image and one or more shapes above it"
-msgstr ""
+msgstr "Вылучы адзін відарыс і адну ці болей фіґур па-над ім"
 
-#: ../src/trace/trace.cpp:234
-#, fuzzy
+#: ../src/trace/trace.cpp:232
 msgid "Trace: No active desktop"
-msgstr "Ð\9dÑ\8fма Ð°ÐºÑ\82Ñ\8bÑ\9eнÑ\8bÑ\85 Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82аÑ\9e"
+msgstr "Ð\90бводжанÑ\8cне: Ð½Ñ\8fма Ð°ÐºÑ\82Ñ\8bÑ\9eнага Ñ\81Ñ\82алÑ\8cÑ\86а"
 
-#: ../src/trace/trace.cpp:333
+#: ../src/trace/trace.cpp:331
 msgid "Invalid SIOX result"
-msgstr ""
+msgstr "Недапушчальны вынік SIOX"
 
-#: ../src/trace/trace.cpp:438
-#, fuzzy
+#: ../src/trace/trace.cpp:436
 msgid "Trace: No active document"
-msgstr "Ð\97аÑ\85оÑ\9eвае Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82"
+msgstr "Ð\90бводжанÑ\8cне: Ð½Ñ\8fма Ð°ÐºÑ\82Ñ\8bÑ\9eнага Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а"
 
-#: ../src/trace/trace.cpp:461
+#: ../src/trace/trace.cpp:459
 msgid "Trace: Image has no bitmap data"
-msgstr ""
+msgstr "Абводжаньне: відарыс ня мае растравых даньняў"
 
-#: ../src/trace/trace.cpp:468
+#: ../src/trace/trace.cpp:466
 msgid "Trace: Starting trace..."
-msgstr ""
+msgstr "Абводжаньне: пачатак…"
 
 #. ## inform the document, so we can undo
 #: ../src/trace/trace.cpp:570
-#, fuzzy
 msgid "Trace bitmap"
-msgstr "ЭкÑ\81паÑ\80Ñ\82аваÑ\86Ñ\8c ÐºÑ\80опкавÑ\8b Ð²Ñ\96даÑ\80Ñ\8bÑ\81"
+msgstr "Ð\90бводжанÑ\8cне Ñ\80аÑ\81Ñ\82Ñ\80а"
 
 #: ../src/trace/trace.cpp:574
 #, c-format
 msgid "Trace: Done. %ld nodes created"
-msgstr ""
+msgstr "Абводжаньне: зроблена. %ld вузлоў створана"
 
-#: ../src/tweak-context.cpp:960
+#: ../src/tweak-context.cpp:959
 msgid "<b>Nothing selected!</b> Select objects to tweak."
-msgstr ""
+msgstr "<b>Нічога ня вылучана!</b> Вылучы абʼект(ы) для карэкцыі."
 
-#: ../src/tweak-context.cpp:965
-#, fuzzy, c-format
+#: ../src/tweak-context.cpp:964
+#, c-format
 msgid "<b>Pushing %d</b> selected object"
 msgid_plural "<b>Pushing %d</b> selected objects"
-msgstr[0] "Групуе вылучаныя аб'екты"
-msgstr[1] "Групуе вылучаныя аб'екты"
+msgstr[0] "<b>Выштурхваньне %d</b> выбранага абʼекта"
+msgstr[1] "<b>Выштурхваньне %d</b> выбраных абʼектаў"
+msgstr[2] "<b>Выштурхваньне %d</b> выбраных абʼектаў"
 
-#: ../src/tweak-context.cpp:970
-#, fuzzy, c-format
+#: ../src/tweak-context.cpp:969
+#, c-format
 msgid "<b>Shrinking %d</b> selected object"
 msgid_plural "<b>Shrinking %d</b> selected objects"
-msgstr[0] "Групуе вылучаныя аб'екты"
-msgstr[1] "Групуе вылучаныя аб'екты"
+msgstr[0] "<b>Сьцісканьне %d</b> выбранага абʼекта"
+msgstr[1] "<b>Сьцісканьне %d</b> выбраных абʼектаў"
+msgstr[2] "<b>Сьцісканьне %d</b> выбраных абʼектаў"
 
-#: ../src/tweak-context.cpp:975
-#, fuzzy, c-format
+#: ../src/tweak-context.cpp:974
+#, c-format
 msgid "<b>Growing %d</b> selected object"
 msgid_plural "<b>Growing %d</b> selected objects"
-msgstr[0] "Групуе вылучаныя аб'екты"
-msgstr[1] "Групуе вылучаныя аб'екты"
+msgstr[0] "<b>Павелічэньне %d</b> выбранага абʼекта"
+msgstr[1] "<b>Павелічэньне %d</b> выбраных абʼектаў"
+msgstr[2] "<b>Павелічэньне %d</b> выбраных абʼектаў"
 
-#: ../src/tweak-context.cpp:980
-#, fuzzy, c-format
+#: ../src/tweak-context.cpp:979
+#, c-format
 msgid "<b>Attracting %d</b> selected object"
 msgid_plural "<b>Attracting %d</b> selected objects"
-msgstr[0] "Групуе вылучаныя аб'екты"
-msgstr[1] "Групуе вылучаныя аб'екты"
+msgstr[0] "<b>Прыцягненьне %d</b> выбранага абʼекта"
+msgstr[1] "<b>Прыцягненьне %d</b> выбраных абʼектаў"
+msgstr[2] "<b>Прыцягненьне %d</b> выбраных абʼектаў"
 
-#: ../src/tweak-context.cpp:985
-#, fuzzy, c-format
+#: ../src/tweak-context.cpp:984
+#, c-format
 msgid "<b>Repelling %d</b> selected object"
 msgid_plural "<b>Repelling %d</b> selected objects"
-msgstr[0] "Падвойвае вылучаныя аб'екты"
-msgstr[1] "Падвойвае вылучаныя аб'екты"
+msgstr[0] "<b>Адпіхваньне %d</b> выбранага абʼекта"
+msgstr[1] "<b>Адпіхваньне %d</b> выбраных абʼектаў"
+msgstr[2] "<b>Адпіхваньне %d</b> выбраных абʼектаў"
 
-#: ../src/tweak-context.cpp:990
+#: ../src/tweak-context.cpp:989
 #, fuzzy, c-format
 msgid "<b>Roughening %d</b> selected object"
 msgid_plural "<b>Roughening %d</b> selected objects"
-msgstr[0] "Ð\93Ñ\80Ñ\83пÑ\83е Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
-msgstr[1] "Групуе вылучаныя аб'екты"
+msgstr[0] "УзÑ\8cнÑ\8fÑ\86Ñ\8c Ð²Ñ\8bбÑ\80анÑ\8b Ð°Ð±'екÑ\82"
+msgstr[1] "Ґрупуе вылучаныя абʼекты"
 
-#: ../src/tweak-context.cpp:995
-#, fuzzy, c-format
+#: ../src/tweak-context.cpp:993
+#, c-format
 msgid "<b>Painting %d</b> selected object"
 msgid_plural "<b>Painting %d</b> selected objects"
-msgstr[0] "Групуе вылучаныя аб'екты"
-msgstr[1] "Групуе вылучаныя аб'екты"
+msgstr[0] "<b>Размалёўваньне %d</b> выбранага абʼекта"
+msgstr[1] "<b>Размалёўваньне %d</b> выбраных абʼектаў"
+msgstr[2] "<b>Размалёўваньне %d</b> выбраных абʼектаў"
 
-#: ../src/tweak-context.cpp:1000
+#: ../src/tweak-context.cpp:998
 #, fuzzy, c-format
 msgid "<b>Jittering colors in %d</b> selected object"
 msgid_plural "<b>Jittering colors in %d</b> selected objects"
-msgstr[0] "Выдаляе вылучаныя аб'екты"
-msgstr[1] "Выдаляе вылучаныя аб'екты"
+msgstr[0] "Выдаляе вылучаныя абʼекты"
+msgstr[1] "Выдаляе вылучаныя абʼекты"
 
-#: ../src/tweak-context.cpp:1040
+#: ../src/tweak-context.cpp:1038
+#, fuzzy
 msgid "Push tweak"
-msgstr ""
+msgstr "Выпіхваньне"
 
-#: ../src/tweak-context.cpp:1044
+#: ../src/tweak-context.cpp:1042
+#, fuzzy
 msgid "Shrink tweak"
-msgstr ""
+msgstr "Зьменшыць вылучаную вобласьць"
 
-#: ../src/tweak-context.cpp:1048
+#: ../src/tweak-context.cpp:1046
+#, fuzzy
 msgid "Grow tweak"
-msgstr ""
+msgstr "Павялічыць вылучаную вобласьць"
 
-#: ../src/tweak-context.cpp:1052
+#: ../src/tweak-context.cpp:1050
+#, fuzzy
 msgid "Attract tweak"
-msgstr ""
-
-#: ../src/tweak-context.cpp:1056
-msgid "Repel tweak"
-msgstr ""
-
-#: ../src/tweak-context.cpp:1060
-msgid "Roughen tweak"
-msgstr ""
-
-#: ../src/tweak-context.cpp:1064
-msgid "Color paint tweak"
-msgstr ""
-
-#: ../src/tweak-context.cpp:1068
-msgid "Color jitter tweak"
-msgstr ""
-
-#. check whether something is selected
-#: ../src/ui/clipboard.cpp:205
-msgid "Nothing was copied."
-msgstr ""
-
-#: ../src/ui/clipboard.cpp:266 ../src/ui/clipboard.cpp:428
-#: ../src/ui/clipboard.cpp:452
-msgid "Nothing on the clipboard."
-msgstr ""
-
-#: ../src/ui/clipboard.cpp:288
-msgid "Select <b>object(s)</b> to paste style to."
-msgstr ""
+msgstr "Рэжым прыцягненьня"
 
-#: ../src/ui/clipboard.cpp:294 ../src/ui/clipboard.cpp:311
+#: ../src/tweak-context.cpp:1054
 #, fuzzy
-msgid "No style on the clipboard."
-msgstr "Даслаць угору"
-
-#: ../src/ui/clipboard.cpp:333
-msgid "Select <b>object(s)</b> to paste size to."
-msgstr ""
+msgid "Repel tweak"
+msgstr "Рэжым адпіхваньня"
 
-#: ../src/ui/clipboard.cpp:340
+#: ../src/tweak-context.cpp:1058
 #, fuzzy
-msgid "No size on the clipboard."
-msgstr "Ð\94аÑ\81лаÑ\86Ñ\8c Ñ\83гоÑ\80Ñ\83"
+msgid "Roughen tweak"
+msgstr "РÑ\8dжÑ\8bмÑ\83 Ñ\88Ñ\83Ñ\80паÑ\82аÑ\81Ñ\8cÑ\86Ñ\96"
 
-#: ../src/ui/clipboard.cpp:391
+#: ../src/tweak-context.cpp:1062
 #, fuzzy
-msgid "Select <b>object(s)</b> to paste live path effect to."
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgid "Color paint tweak"
+msgstr "РÑ\8dжÑ\8bм Ñ\80Ñ\8bÑ\81аванÑ\8cнÑ\8f ÐºÐ¾Ð»ÐµÑ\80а"
 
-#. no_effect:
-#: ../src/ui/clipboard.cpp:415
+#: ../src/tweak-context.cpp:1065
 #, fuzzy
-msgid "No effect on the clipboard."
-msgstr "Даслаць угору"
-
-#: ../src/ui/clipboard.cpp:435 ../src/ui/clipboard.cpp:462
-msgid "Clipboard does not contain a path."
-msgstr ""
+msgid "Color jitter tweak"
+msgstr "2. Зьмяніць узятае значэньне:"
 
 #. Item dialog
-#: ../src/ui/context-menu.cpp:100
-#, fuzzy
+#: ../src/ui/context-menu.cpp:98
 msgid "Object _Properties"
-msgstr "Уласьцівасьці прамакутніка"
+msgstr "_Уласьцівасьці абʼекта"
 
 #. Select item
-#: ../src/ui/context-menu.cpp:110
-#, fuzzy
+#: ../src/ui/context-menu.cpp:108
 msgid "_Select This"
-msgstr "Вылучыць гэта"
+msgstr "_Вылучыць гэта"
 
 #. Create link
-#: ../src/ui/context-menu.cpp:120
-#, fuzzy
+#: ../src/ui/context-menu.cpp:118
 msgid "_Create Link"
-msgstr "Стварыць лучыва"
+msgstr "_Стварыць лучыва"
 
-#: ../src/ui/context-menu.cpp:177
-#, fuzzy
+#: ../src/ui/context-menu.cpp:175
 msgid "Create link"
 msgstr "Стварыць лучыва"
 
 #. "Ungroup"
-#: ../src/ui/context-menu.cpp:195 ../src/verbs.cpp:2279
-#, fuzzy
+#: ../src/ui/context-menu.cpp:193
+#: ../src/verbs.cpp:2242
 msgid "_Ungroup"
-msgstr "Разгрупаваць"
+msgstr "_Разґрупаваць"
 
 #. Link dialog
-#: ../src/ui/context-menu.cpp:235
-#, fuzzy
+#: ../src/ui/context-menu.cpp:233
 msgid "Link _Properties"
-msgstr "Уласьцівасьці лучыва"
+msgstr "_Уласьцівасьці лучыва"
 
 #. Select item
-#: ../src/ui/context-menu.cpp:241
-#, fuzzy
+#: ../src/ui/context-menu.cpp:239
 msgid "_Follow Link"
-msgstr "Прасачыць лучыва"
+msgstr "_Ісьці па лучыве"
 
 #. Reset transformations
-#: ../src/ui/context-menu.cpp:246
-#, fuzzy
+#: ../src/ui/context-menu.cpp:244
 msgid "_Remove Link"
-msgstr "Ð\92Ñ\8bдалÑ\96ць лучыва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аць лучыва"
 
 #. Link dialog
-#: ../src/ui/context-menu.cpp:294
-#, fuzzy
+#: ../src/ui/context-menu.cpp:293
 msgid "Image _Properties"
-msgstr "Уласьцівасьці відарыса"
-
-#: ../src/ui/context-menu.cpp:300
-msgid "Edit Externally..."
-msgstr ""
+msgstr "_Уласьцівасьці відарыса"
 
 #. Item dialog
-#: ../src/ui/context-menu.cpp:392
-#, fuzzy
+#: ../src/ui/context-menu.cpp:334
 msgid "_Fill and Stroke"
-msgstr "Запаўненьне й штрыхоўка"
+msgstr "_Запаўненьне й контур"
 
 #. *
 #. * Constructor
 #.
 #: ../src/ui/dialog/aboutbox.cpp:77
 msgid "About Inkscape"
-msgstr ""
+msgstr "Пра Inkscape"
 
 #: ../src/ui/dialog/aboutbox.cpp:88
 msgid "_Splash"
-msgstr ""
+msgstr "_Застаўка"
 
 #: ../src/ui/dialog/aboutbox.cpp:92
 msgid "_Authors"
-msgstr ""
+msgstr "_Аўтары"
 
 #: ../src/ui/dialog/aboutbox.cpp:94
-#, fuzzy
 msgid "_Translators"
-msgstr "Трансфармаваньне вылучэньня"
+msgstr "_Перакладчыкі"
 
 #: ../src/ui/dialog/aboutbox.cpp:96
 msgid "_License"
-msgstr ""
+msgstr "_Ліцэнзія"
 
 #. TRANSLATORS: This is the filename of the `About Inkscape' picture in
 #. the `screens' directory.  Thus the translation of "about.svg" should be
@@ -9344,873 +7824,713 @@ msgstr ""
 #. should be in UTF-*8..
 #: ../src/ui/dialog/aboutbox.cpp:149
 msgid "about.svg"
-msgstr ""
+msgstr "about.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
-#, fuzzy
+#: ../src/ui/dialog/aboutbox.cpp:337
 msgid "translator-credits"
-msgstr "Трансфармаваньне вылучэньня"
+msgstr ""
+"Віталь Хілько (dojlid@mova.org), 2003\n"
+"Глеб Валошка (375gnu@gmail.com), 2008"
 
 #: ../src/ui/dialog/align-and-distribute.cpp:234
-#: ../src/ui/dialog/align-and-distribute.cpp:776
+#: ../src/ui/dialog/align-and-distribute.cpp:780
 msgid "Align"
-msgstr "Раўнаньне"
+msgstr "РаÑ\9eнаванÑ\8cне"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:392
-#: ../src/ui/dialog/align-and-distribute.cpp:777
+#: ../src/ui/dialog/align-and-distribute.cpp:396
+#: ../src/ui/dialog/align-and-distribute.cpp:781
 msgid "Distribute"
-msgstr "Ð\9fÑ\80адаÑ\81Ñ\82аÑ\9eленьне"
+msgstr "РазÑ\8cмеÑ\80каваньне"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:461
+#: ../src/ui/dialog/align-and-distribute.cpp:465
 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
-#, fuzzy
-msgid "gap|H:"
-msgstr "Ð\9aÑ\80аÑ\96:"
+#. TRANSLATORS: Horizontal gap
+#: ../src/ui/dialog/align-and-distribute.cpp:467
+#: ../src/widgets/toolbox.cpp:2266
+msgid "H:"
+msgstr "Ð\93:"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:471
+#: ../src/ui/dialog/align-and-distribute.cpp:475
 msgid "Minimum vertical gap (in px units) between bounding boxes"
-msgstr ""
+msgstr "Найменшы вэртыкальны прамежак (у піксалях) між абмежавальнымі рамкамі"
 
 #. TRANSLATORS: Vertical gap
-#: ../src/ui/dialog/align-and-distribute.cpp:473
+#: ../src/ui/dialog/align-and-distribute.cpp:477
 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
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:505
+#: ../src/ui/dialog/align-and-distribute.cpp:782
+#: ../src/widgets/toolbox.cpp:5182
 msgid "Remove overlaps"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð½Ð°ÐºÐ»Ð°Ð´Ð°Ð½Ñ\8cнÑ\96"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:531
-#: ../src/widgets/toolbox.cpp:5484
+#: ../src/ui/dialog/align-and-distribute.cpp:535
+#: ../src/widgets/toolbox.cpp:5042
 msgid "Arrange connector network"
-msgstr ""
+msgstr "Упарадкаваць сетку злучальнікаў"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:561
+#: ../src/ui/dialog/align-and-distribute.cpp:565
 msgid "Unclump"
 msgstr ""
 
-#: ../src/ui/dialog/align-and-distribute.cpp:631
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:635
 msgid "Randomize positions"
-msgstr "Ð\9fамеÑ\80 Ñ\96 Ð¿Ð°Ð·Ñ\8bÑ\86Ñ\8bÑ\8f"
+msgstr "РаÑ\81кÑ\96даÑ\86Ñ\8c Ð°Ð´Ð²Ð¾Ð»Ñ\8cна"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:728
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:732
 msgid "Distribute text baselines"
-msgstr "Ð\9fÑ\80адаÑ\81Ñ\82аÑ\9eленÑ\8cне"
+msgstr "РазÑ\8cмеÑ\80каваÑ\86Ñ\8c Ð±Ð°Ð·Ð°Ð²Ñ\8bÑ\8f Ð»Ñ\96нÑ\96Ñ\96 Ñ\82Ñ\8dкÑ\81Ñ\82аÑ\9e"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:748
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:752
 msgid "Align text baselines"
-msgstr "РаÑ\9eнае Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð±Ð°Ð·Ð°Ð²Ñ\8bÑ\8f Ð»Ñ\96нÑ\96Ñ\96 Ñ\82Ñ\8dкÑ\81Ñ\82аÑ\9e"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:779
+#: ../src/ui/dialog/align-and-distribute.cpp:783
 msgid "Connector network layout"
-msgstr ""
+msgstr "Сетка злучальнікаў"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:780
+#: ../src/ui/dialog/align-and-distribute.cpp:784
 msgid "Nodes"
 msgstr "Вузлы"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:786
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:790
 msgid "Relative to: "
-msgstr "Ð\90дноÑ\81нае Ð¿ÐµÑ\80амÑ\8fÑ\88Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\9fÑ\80Ñ\8bвÑ\8fзка:"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:791
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:795
 msgid "Align right sides of objects to left side of anchor"
-msgstr "Ð\9fÑ\80авÑ\8b Ð±Ð¾Ðº Ð°Ð±'екÑ\82а Ñ\9e Ð»ÐµÐ²Ñ\8b Ð±Ð¾Ðº якара"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð¿Ñ\80авÑ\8bÑ\8f Ð±Ð°ÐºÑ\96 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e Ð¿Ð° Ð»ÐµÐ²Ñ\8bм Ð±Ð¾ÐºÑ\83 якара"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:794
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:798
 msgid "Align left sides"
-msgstr "РаÑ\9eнае Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð»ÐµÐ²Ñ\8bÑ\8f Ð±Ð°ÐºÑ\96"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:797
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:801
 msgid "Center on vertical axis"
-msgstr "ЦÑ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c Ð¿Ð° Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалі"
+msgstr "ЦÑ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c Ð½Ð° Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cнай Ð²Ð¾Ñ\81і"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:800
+#: ../src/ui/dialog/align-and-distribute.cpp:804
 msgid "Align right sides"
-msgstr ""
+msgstr "Выраўнаваць правыя бакі"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:803
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:807
 msgid "Align left sides of objects to right side of anchor"
-msgstr "Ð\9bевÑ\8b Ð±Ð¾Ðº Ð°Ð±'екÑ\82а Ñ\9e Ð¿Ñ\80авÑ\8b Ð±Ð¾Ðº якара"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð»ÐµÐ²Ñ\8bÑ\8f Ð±Ð°ÐºÑ\96 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e Ð¿Ð° Ð¿Ñ\80авÑ\8bм Ð±Ð¾ÐºÑ\83 якара"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:806
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:810
 msgid "Align bottoms of objects to top of anchor"
-msgstr "Ð\9dÑ\96з Ð°Ð±'екÑ\82а Ñ\9e Ð²ÐµÑ\80Ñ\85 якара"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð½Ñ\96зÑ\8b Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e Ð¿Ð° Ð²Ñ\8fÑ\80Ñ\88Ñ\8bнÑ\96 якара"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:809
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:813
 msgid "Align tops"
-msgstr "РаÑ\9eнанÑ\8cне Ð°Ð±'екÑ\82аÑ\9e"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð²Ñ\8fÑ\80Ñ\88Ñ\8bнÑ\96"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:812
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:816
 msgid "Center on horizontal axis"
-msgstr "ЦÑ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c Ð¿Ð° Ð³Ð°Ñ\80Ñ\8bзанÑ\82алі"
+msgstr "ЦÑ\8dнÑ\82Ñ\80аваÑ\86Ñ\8c Ð½Ð° Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cнай Ð²Ð¾Ñ\81і"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:815
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:819
 msgid "Align bottoms"
-msgstr "РаÑ\9eнанÑ\8cне Ð°Ð±'екÑ\82аÑ\9e"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð½Ñ\96зÑ\8b"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:818
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:822
 msgid "Align tops of objects to bottom of anchor"
-msgstr "Верх аб'екта ў верх якара"
+msgstr "Выраўнаваць вяршыні абʼектаў па нізе якара"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:823
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:827
 msgid "Align baseline anchors of texts vertically"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b вэртыкальна"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ñ\8fкаÑ\80Ñ\8b Ð±Ð°Ð·Ð°Ð²Ñ\8bÑ\85 Ð»Ñ\96нÑ\96й Ñ\82Ñ\8dкÑ\81Ñ\82аÑ\9e вэртыкальна"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:826
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:830
 msgid "Align baseline anchors of texts horizontally"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±'екÑ\82 гарызантальна"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ñ\8fкаÑ\80Ñ\8b Ð±Ð°Ð·Ð°Ð²Ñ\8bÑ\85 Ð»Ñ\96нÑ\96й Ñ\82Ñ\8dкÑ\81Ñ\82аÑ\9e гарызантальна"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:831
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:835
 msgid "Make horizontal gaps between objects equal"
-msgstr "Ð\9fÑ\80адаÑ\81Ñ\82аÑ\9eлÑ\8fе Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cнÑ\83Ñ\8e Ð°Ð´Ð»ÐµÐ³Ð»Ð°Ñ\81Ñ\8cÑ\86Ñ\8c Ð¼Ñ\96ж Ð°Ð´Ð½Ð¾Ð»Ñ\8cкавÑ\8bмÑ\96 Ð°Ð±'екÑ\82амі"
+msgstr "Ð\97Ñ\80абÑ\96Ñ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cнÑ\8bÑ\8f Ð¿Ñ\80агалÑ\8b Ð¼Ñ\96ж Ð°Ð±Ê¼ÐµÐºÑ\82амÑ\96 Ð°Ð´Ð½Ð¾Ð»Ñ\8cкавÑ\8bмі"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:835
+#: ../src/ui/dialog/align-and-distribute.cpp:839
 msgid "Distribute left sides equidistantly"
-msgstr ""
+msgstr "Разьмеркаваць левыя бакі роўнааддалена"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:838
+#: ../src/ui/dialog/align-and-distribute.cpp:842
 msgid "Distribute centers equidistantly horizontally"
-msgstr ""
+msgstr "Разьмеркаваць цэнтры роўнааддалена па гарызанталі"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:841
+#: ../src/ui/dialog/align-and-distribute.cpp:845
 msgid "Distribute right sides equidistantly"
-msgstr ""
+msgstr "Разьмеркаваць правыя бакі роўнааддалена"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:845
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:849
 msgid "Make vertical gaps between objects equal"
-msgstr "Ð\9fÑ\80адаÑ\81Ñ\82аÑ\9eлÑ\8fе Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cнÑ\83Ñ\8e Ð°Ð´Ð»ÐµÐ³Ð»Ð°Ñ\81Ñ\8cÑ\86Ñ\8c Ð¼Ñ\96ж Ð°Ð´Ð½Ð¾Ð»Ñ\8cкавÑ\8bмÑ\96 Ð°Ð±'екÑ\82амі"
+msgstr "Ð\97Ñ\80абÑ\96Ñ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cнÑ\8bÑ\8f Ð¿Ñ\80агалÑ\8b Ð¼Ñ\96ж Ð°Ð±Ê¼ÐµÐºÑ\82амÑ\96 Ð°Ð´Ð½Ð¾Ð»Ñ\8cкавÑ\8bмі"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:849
+#: ../src/ui/dialog/align-and-distribute.cpp:853
 msgid "Distribute tops equidistantly"
-msgstr ""
+msgstr "Разьмеркаваць вяршыні роўнааддалена"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:852
+#: ../src/ui/dialog/align-and-distribute.cpp:856
 msgid "Distribute centers equidistantly vertically"
-msgstr ""
+msgstr "Разьмеркаваць сярэдзіны роўнааддалена па вэртыкалі"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:855
+#: ../src/ui/dialog/align-and-distribute.cpp:859
 msgid "Distribute bottoms equidistantly"
-msgstr ""
+msgstr "Разьмеркаваць нізы роўнааддалена"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:860
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:864
 msgid "Distribute baseline anchors of texts horizontally"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±'екÑ\82 гарызантальна"
+msgstr "РазÑ\8cмеÑ\80каваÑ\86Ñ\8c Ð±Ð°Ð·Ð°Ð²Ñ\8bÑ\8f Ð»Ñ\96нÑ\96Ñ\96 Ñ\82Ñ\8dкÑ\81Ñ\82аÑ\9e гарызантальна"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:863
+#: ../src/ui/dialog/align-and-distribute.cpp:867
 msgid "Distribute baseline anchors of texts vertically"
-msgstr ""
+msgstr "Разьмеркаваць якары базавых ліній тэкстаў вэртыкальна"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:868
+#: ../src/ui/dialog/align-and-distribute.cpp:872
 msgid "Randomize centers in both dimensions"
 msgstr ""
 
-#: ../src/ui/dialog/align-and-distribute.cpp:871
+#: ../src/ui/dialog/align-and-distribute.cpp:875
 msgid "Unclump objects: try to equalize edge-to-edge distances"
 msgstr ""
 
-#: ../src/ui/dialog/align-and-distribute.cpp:876
-msgid ""
-"Move objects as little as possible so that their bounding boxes do not "
-"overlap"
+#: ../src/ui/dialog/align-and-distribute.cpp:880
+msgid "Move objects as little as possible so that their bounding boxes do not overlap"
 msgstr ""
 
-#: ../src/ui/dialog/align-and-distribute.cpp:880
-#: ../src/widgets/toolbox.cpp:5588
+#: ../src/ui/dialog/align-and-distribute.cpp:884
+#: ../src/widgets/toolbox.cpp:5144
 msgid "Nicely arrange selected connector network"
-msgstr ""
+msgstr "Хораша ўпарадкаваць вылучаную сетку злучальнікаў"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:885
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:889
 msgid "Align selected nodes horizontally"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±'екÑ\82 Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злÑ\8b Ð¿Ð° Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\96"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:888
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:892
 msgid "Align selected nodes vertically"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злÑ\8b Ð¿Ð° Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\96"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:891
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:895
 msgid "Distribute selected nodes horizontally"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±'екÑ\82 Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "РазÑ\8cмеÑ\80каваÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злÑ\8b Ð¿Ð° Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\96"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:894
-#, fuzzy
+#: ../src/ui/dialog/align-and-distribute.cpp:898
 msgid "Distribute selected nodes vertically"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "РазÑ\8cмеÑ\80каваÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злÑ\8b Ð¿Ð° Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\96"
 
 #. Rest of the widgetry
-#: ../src/ui/dialog/align-and-distribute.cpp:899
+#: ../src/ui/dialog/align-and-distribute.cpp:903
 msgid "Last selected"
-msgstr "Ð\94Ñ\80Ñ\83гі вылучаны"
+msgstr "Ð\90поÑ\88ні вылучаны"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:900
+#: ../src/ui/dialog/align-and-distribute.cpp:904
 msgid "First selected"
 msgstr "Першы вылучаны"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:901
+#: ../src/ui/dialog/align-and-distribute.cpp:905
 msgid "Biggest item"
-msgstr "Ð\91ольшы элемэнт"
+msgstr "Ð\9dайбольшы элемэнт"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:902
+#: ../src/ui/dialog/align-and-distribute.cpp:906
 msgid "Smallest item"
-msgstr "Ð\9cеншы элемэнт"
+msgstr "Ð\9dайменшы элемэнт"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:904
-#: ../src/widgets/desktop-widget.cpp:1548
+#: ../src/ui/dialog/align-and-distribute.cpp:908
+#: ../src/widgets/desktop-widget.cpp:1531
 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
+#, fuzzy
 msgid "<b>Dublin Core Entities</b>"
-msgstr ""
+msgstr "Усталяванне цэнтральных пакетаў"
 
 #: ../src/ui/dialog/document-metadata.cpp:182
 msgid "<b>License</b>"
-msgstr ""
+msgstr "<b>Ліцэнзія</b>"
 
 #. ---------------------------------------------------------------
-#: ../src/ui/dialog/document-properties.cpp:88
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:87
 msgid "Show page _border"
-msgstr "Паказаць межы"
+msgstr "_Паказваць мяжу старонкі"
 
-#: ../src/ui/dialog/document-properties.cpp:88
+#: ../src/ui/dialog/document-properties.cpp:87
 msgid "If set, rectangular page border is shown"
-msgstr ""
+msgstr "Калі зададзена, паказваецца прастакутная мяжа старонкі"
 
-#: ../src/ui/dialog/document-properties.cpp:89
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:88
 msgid "Border on _top of drawing"
-msgstr "Ð\9fамÑ\8fнÑ\88ае Ð¼Ð°Ñ\88Ñ\82аб рысунка"
+msgstr "Ð\9cÑ\8fжа _навеÑ\80Ñ\81е рысунка"
 
-#: ../src/ui/dialog/document-properties.cpp:89
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:88
 msgid "If set, border is always on top of the drawing"
-msgstr "Ð\9fамÑ\8fнÑ\88ае Ð¼Ð°Ñ\88Ñ\82аб Ñ\80Ñ\8bÑ\81Ñ\83нка"
+msgstr "Ð\9aалÑ\96 Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ð°, Ð½Ð°Ð²ÐµÑ\80Ñ\81е Ñ\80Ñ\8bÑ\81Ñ\83нка Ð·Ð°Ñ\9eждÑ\8b Ñ\91Ñ\81Ñ\8cÑ\86Ñ\8c Ð¼Ñ\8fжа "
 
-#: ../src/ui/dialog/document-properties.cpp:90
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:89
 msgid "_Show border shadow"
-msgstr "Паказаць межы"
+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 ""
+msgstr "Калі зададзена, мяжа старонкі мае цень справа й зьнізу"
 
-#: ../src/ui/dialog/document-properties.cpp:91
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:90
 msgid "Back_ground:"
-msgstr "Канчатковы колер"
+msgstr "_Асноведзь:"
 
-#: ../src/ui/dialog/document-properties.cpp:91
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:90
 msgid "Background color"
-msgstr "Ð\9aанÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\9aолеÑ\80 Ð°Ñ\81новедзÑ\96"
 
-#: ../src/ui/dialog/document-properties.cpp:91
-msgid ""
-"Color and transparency of the page background (also used for bitmap export)"
-msgstr ""
+#: ../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
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:91
 msgid "Border _color:"
-msgstr "Колер сеткі:"
+msgstr "Колер _мяжы:"
 
-#: ../src/ui/dialog/document-properties.cpp:92
+#: ../src/ui/dialog/document-properties.cpp:91
 msgid "Page border color"
-msgstr ""
+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
-#, fuzzy
-msgid "Default _units:"
-msgstr "Дапомнае"
+msgstr "Колер мяжы старонкі"
 
 #. ---------------------------------------------------------------
 #. General snap options
-#: ../src/ui/dialog/document-properties.cpp:97
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:94
 msgid "Show _guides"
-msgstr "Паказаць кіруючыя"
+msgstr "_Паказваць накіроўныя"
 
-#: ../src/ui/dialog/document-properties.cpp:97
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:94
 msgid "Show or hide guides"
-msgstr "Ð\9fаказаÑ\86Ñ\8c ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87ыя"
+msgstr "ХаваÑ\86Ñ\8c Ñ\86Ñ\96 Ð¿Ð°ÐºÐ°Ð·Ð²Ð°Ñ\86Ñ\8c Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eныя"
 
-#: ../src/ui/dialog/document-properties.cpp:98
+#: ../src/ui/dialog/document-properties.cpp:95
 msgid "_Snap guides while dragging"
-msgstr ""
+msgstr "_Прыцягненьне да накіроўных пад час перацягваньня"
 
-#: ../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 ""
+#: ../src/ui/dialog/document-properties.cpp:95
+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
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:97
 msgid "Guide co_lor:"
-msgstr "Колер кіруючых:"
+msgstr "_Колер:"
 
-#: ../src/ui/dialog/document-properties.cpp:100
+#: ../src/ui/dialog/document-properties.cpp:97
 msgid "Guideline color"
-msgstr "Ð\9aолеÑ\80 ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85 Ñ\80Ñ\8bÑ\81аÑ\9e"
+msgstr "Ð\9aолеÑ\80 Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\8bÑ\85"
 
-#: ../src/ui/dialog/document-properties.cpp:100
+#: ../src/ui/dialog/document-properties.cpp:97
 msgid "Color of guidelines"
-msgstr ""
+msgstr "Колер накіроўных"
 
-#: ../src/ui/dialog/document-properties.cpp:101
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:98
 msgid "_Highlight color:"
-msgstr "Колер падсьвятленьня:"
+msgstr "_Колер асьветленьня:"
 
-#: ../src/ui/dialog/document-properties.cpp:101
+#: ../src/ui/dialog/document-properties.cpp:98
 msgid "Highlighted guideline color"
-msgstr "Колер падсьвятленьня кіруючых рысаў"
+msgstr "Колер падсьветленьня накіроўных"
 
-#: ../src/ui/dialog/document-properties.cpp:101
+#: ../src/ui/dialog/document-properties.cpp:98
 msgid "Color of a guideline when it is under mouse"
-msgstr ""
+msgstr "Колер накіроўнай, якая знаходзіцца пад курсорам мышы"
 
 #. ---------------------------------------------------------------
-#: ../src/ui/dialog/document-properties.cpp:103
+#: ../src/ui/dialog/document-properties.cpp:100
 msgid "_Enable snapping"
-msgstr ""
+msgstr "_Задзейнічаць прыцягненьне"
 
-#: ../src/ui/dialog/document-properties.cpp:103 ../src/verbs.cpp:2498
+#: ../src/ui/dialog/document-properties.cpp:100
+#: ../src/verbs.cpp:2452
 msgid "Toggle snapping on or off"
-msgstr ""
-
-#: ../src/ui/dialog/document-properties.cpp:104
-msgid "_Enable snap indicator"
-msgstr ""
+msgstr "Уключыць ці выключыць прыцягненьне"
 
-#: ../src/ui/dialog/document-properties.cpp:104
-msgid "After snapping, a symbol is drawn at the point that has snapped"
-msgstr ""
-
-#: ../src/ui/dialog/document-properties.cpp:105
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:101
 msgid "_Bounding box corners"
-msgstr "Раўнаць па кіруючых"
+msgstr "_Куты абмежавальнай рамкі"
 
-#: ../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 ""
+#: ../src/ui/dialog/document-properties.cpp:101
+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
+#: ../src/ui/dialog/document-properties.cpp:103
 msgid "_Nodes"
-msgstr "Вузлы"
+msgstr "_Вузлы"
 
-#: ../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 ""
+#: ../src/ui/dialog/document-properties.cpp:103
+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
+#: ../src/ui/dialog/document-properties.cpp:106
 msgid "Snap to path_s"
-msgstr "РаÑ\9eнаÑ\86Ñ\8c Ð¿Ð° ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85"
+msgstr "Ð\9fÑ\80Ñ\8bÑ\86Ñ\8fгненÑ\8cне Ð´Ð° _Ñ\88лÑ\8fÑ\85оÑ\9e"
 
-#: ../src/ui/dialog/document-properties.cpp:110
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:106
 msgid "Snap nodes to object paths"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ñ\82Ñ\8dкÑ\81Ñ\82а - Ñ\81Ñ\82ваÑ\80ае Ñ\96 Ñ\80Ñ\8dдагÑ\83е Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\92Ñ\83злÑ\8b Ð¿Ñ\80Ñ\8bÑ\86Ñ\8fгваÑ\8eÑ\86Ñ\86а Ð´Ð° Ñ\88лÑ\8fÑ\85оÑ\9e Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
 
-#: ../src/ui/dialog/document-properties.cpp:111
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:107
 msgid "Snap to n_odes"
-msgstr "РаÑ\9eнаÑ\86Ñ\8c Ð¿Ð° ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85"
+msgstr "Ð\9fÑ\80Ñ\8bÑ\86Ñ\8fгненÑ\8cне Ð´Ð° Ð²_Ñ\83злоÑ\9e"
 
-#: ../src/ui/dialog/document-properties.cpp:111
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:107
 msgid "Snap nodes and guides to object nodes"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ñ\82Ñ\8dкÑ\81Ñ\82а - Ñ\81Ñ\82ваÑ\80ае Ñ\96 Ñ\80Ñ\8dдагÑ\83е Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\92Ñ\83злÑ\8b Ð¹ Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\8bÑ\8f Ð¿Ñ\80Ñ\8bÑ\86Ñ\8fгваÑ\8eÑ\86Ñ\86а Ð´Ð° Ð²Ñ\83злоÑ\9e Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
 
-#: ../src/ui/dialog/document-properties.cpp:112
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:108
 msgid "Snap to bounding bo_x edges"
-msgstr "РаÑ\9eнаÑ\86Ñ\8c Ð¿Ð° Ñ\81еÑ\82ке"
+msgstr "Ð\9fÑ\80Ñ\8bÑ\86Ñ\8fгненÑ\8cне Ð´Ð° ÐºÑ\80аÑ\91Ñ\9e _абмежавалÑ\8cнай Ñ\80амкÑ\96"
 
-#: ../src/ui/dialog/document-properties.cpp:112
+#: ../src/ui/dialog/document-properties.cpp:108
 msgid "Snap bounding box corners and guides to bounding box edges"
-msgstr ""
+msgstr "Накіроўныя й куты абмежавальных рамак прыцягваюцца да краёў абмежавальных рамак"
 
-#: ../src/ui/dialog/document-properties.cpp:113
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:109
 msgid "Snap to bounding box co_rners"
-msgstr "РаÑ\9eнаÑ\86Ñ\8c Ð¿Ð° ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85"
+msgstr "Ð\9fÑ\80Ñ\8bÑ\86Ñ\8fгненÑ\8cне Ð´Ð° ÐºÑ\83Ñ\82оÑ\9e Ð°Ð±_межавалÑ\8cнай Ñ\80амкÑ\96"
 
-#: ../src/ui/dialog/document-properties.cpp:113
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:109
 msgid "Snap bounding box corners to other bounding box corners"
-msgstr "Раўнаць па сетке"
-
-#: ../src/ui/dialog/document-properties.cpp:114
-#, fuzzy
-msgid "Snap to page border"
-msgstr "Паказаць межы"
-
-#: ../src/ui/dialog/document-properties.cpp:114
-#, fuzzy
-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
+#: ../src/ui/dialog/document-properties.cpp:112
 msgid "Rotation _center"
-msgstr "Павярнуць"
+msgstr "_Цэнтар павароту"
 
-#: ../src/ui/dialog/document-properties.cpp:117
+#: ../src/ui/dialog/document-properties.cpp:112
 msgid "Consider the rotation center of an object when snapping"
-msgstr ""
+msgstr "Улічваць цэнтар павароту абʼекта пры прыцягваньні"
 
-#: ../src/ui/dialog/document-properties.cpp:118
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:113
 msgid "_Grid with guides"
-msgstr "Кіруючыя"
+msgstr "_Сетка з накіроўнымі"
 
-#: ../src/ui/dialog/document-properties.cpp:118
+#: ../src/ui/dialog/document-properties.cpp:113
 msgid "Snap to grid-guide intersections"
-msgstr ""
+msgstr "Прыцягвацца да перасячэньняў накіроўных сеткі"
 
-#: ../src/ui/dialog/document-properties.cpp:119
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:114
 msgid "_Line segments"
-msgstr "Выдаліць вузел"
+msgstr "_Адрэзкі лініі"
 
-#: ../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 ""
+#: ../src/ui/dialog/document-properties.cpp:114
+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
+#: ../src/ui/dialog/document-properties.cpp:119
 msgid "Grid|_New"
-msgstr "Сетка"
+msgstr "_Стварыць"
 
-#: ../src/ui/dialog/document-properties.cpp:124
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:119
 msgid "Create new grid."
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\83Ñ\8e Ñ\81еÑ\82кÑ\83"
 
-#: ../src/ui/dialog/document-properties.cpp:125
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:120
+#: ../src/ui/dialog/livepatheffect-editor.cpp:58
 msgid "_Remove"
-msgstr "Выдаліць лучыва"
+msgstr "_Прыбраць"
 
-#: ../src/ui/dialog/document-properties.cpp:125
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:120
 msgid "Remove selected grid."
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð²Ñ\8bбÑ\80анÑ\83Ñ\8e Ñ\81еÑ\82кÑ\83"
 
-#: ../src/ui/dialog/document-properties.cpp:135
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:130
 msgid "Guides"
-msgstr "Ð\9aÑ\96Ñ\80Ñ\83Ñ\8eÑ\87ыя"
+msgstr "Ð\9dакÑ\96Ñ\80оÑ\9eныя"
 
-#: ../src/ui/dialog/document-properties.cpp:136
-#: ../src/ui/dialog/inkscape-preferences.cpp:905
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:131
+#: ../src/ui/dialog/inkscape-preferences.cpp:879
 msgid "Grids"
-msgstr "Сетка"
+msgstr "Сеткі"
 
-#: ../src/ui/dialog/document-properties.cpp:137 ../src/verbs.cpp:2498
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:132
+#: ../src/verbs.cpp:2452
 msgid "Snap"
-msgstr "Ð\97оÑ\80ка"
+msgstr "Ð\9fÑ\80Ñ\8bÑ\86Ñ\8fгваÑ\86Ñ\8c"
 
-#: ../src/ui/dialog/document-properties.cpp:138
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:133
 msgid "Snap points"
-msgstr "Раўнаць па кіруючых"
+msgstr "Пункты прыцягненьня"
+
+#: ../src/ui/dialog/document-properties.cpp:221
+msgid "Default _units:"
+msgstr "Прадвызначаныя _адзінкі:"
 
-#: ../src/ui/dialog/document-properties.cpp:227
+#: ../src/ui/dialog/document-properties.cpp:224
 msgid "<b>General</b>"
-msgstr ""
+msgstr "<b>Асноўныя</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:229
+#: ../src/ui/dialog/document-properties.cpp:226
 msgid "<b>Border</b>"
-msgstr ""
+msgstr "<b>Мяжа</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:231
+#: ../src/ui/dialog/document-properties.cpp:228
 msgid "<b>Format</b>"
-msgstr ""
+msgstr "<b>Фармат</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:259
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:256
 msgid "<b>Guides</b>"
-msgstr "Кіруючыя"
+msgstr "<b>Накіроўныя</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:278
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:275
 msgid "Snap _distance"
-msgstr "Памер крокаў:"
+msgstr "_Адлегласьць прыцягненьня"
 
-#: ../src/ui/dialog/document-properties.cpp:278
+#: ../src/ui/dialog/document-properties.cpp:275
 msgid "Snap only when _closer than:"
-msgstr ""
-
-#: ../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
+#: ../src/ui/dialog/document-properties.cpp:276
 msgid "Snapping distance, in screen pixels, for snapping to objects"
-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 ""
+#: ../src/ui/dialog/document-properties.cpp:277
+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
+#: ../src/ui/dialog/document-properties.cpp:281
 msgid "Snap d_istance"
-msgstr "Ð\9fамеÑ\80 ÐºÑ\80окаÑ\9e:"
+msgstr "Ð\90_длеглаÑ\81Ñ\8cÑ\86Ñ\8c Ð¿Ñ\80Ñ\8bÑ\86Ñ\8fгненÑ\8cнÑ\8f"
 
-#: ../src/ui/dialog/document-properties.cpp:284
+#: ../src/ui/dialog/document-properties.cpp:281
 msgid "Snap only when c_loser than:"
-msgstr ""
+msgstr "Прыцягненьне толькі калі б_ліжэй за:"
 
-#: ../src/ui/dialog/document-properties.cpp:285
+#: ../src/ui/dialog/document-properties.cpp:282
 msgid "Snapping distance, in screen pixels, for snapping to grid"
-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 ""
+#: ../src/ui/dialog/document-properties.cpp:283
+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
+#: ../src/ui/dialog/document-properties.cpp:287
 msgid "Snap dist_ance"
-msgstr "Ð\9fамеÑ\80 ÐºÑ\80окаÑ\9e:"
+msgstr "Ð\90дл_еглаÑ\81Ñ\8cÑ\86Ñ\8c Ð¿Ñ\80Ñ\8bÑ\86Ñ\8fгненÑ\8cнÑ\8f"
 
-#: ../src/ui/dialog/document-properties.cpp:290
+#: ../src/ui/dialog/document-properties.cpp:287
 msgid "Snap only when close_r than:"
-msgstr ""
+msgstr "Прыцягненьне толькі калі бл_іжэй за:"
 
-#: ../src/ui/dialog/document-properties.cpp:291
+#: ../src/ui/dialog/document-properties.cpp:288
 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 ""
-
-#: ../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 ""
+#: ../src/ui/dialog/document-properties.cpp:289
+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
+#: ../src/ui/dialog/document-properties.cpp:311
 msgid "<b>Snapping</b>"
-msgstr "Фармаваньне"
+msgstr "<b>Прыцягненьне</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:317
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:313
 msgid "<b>What snaps</b>"
-msgstr "Прамакутнік"
+msgstr "<b>Што прыцягваецца</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:319
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:315
 msgid "<b>Snap to objects</b>"
-msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
+msgstr "<b>Прыцягненьне да абʼектаў</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:321
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:317
 msgid "<b>Snap to grids</b>"
-msgstr "Кіруючыя"
+msgstr "<b>Прыцягненьне да сеткі</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:323
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:319
 msgid "<b>Snap to guides</b>"
-msgstr "Раўнаць па кіруючых"
+msgstr "<b>Прыцягненьне да накіроўных</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:361
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:355
 msgid "<b>Snapping to intersections of</b>"
-msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
+msgstr "<b>Прыцягненьне да перасячэньняў</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:363
-#, fuzzy
-msgid "<b>Special points to consider</b>"
-msgstr "Раўнаць па кіруючых"
+#: ../src/ui/dialog/document-properties.cpp:357
+msgid "<b>Snapping to special nodes</b>"
+msgstr "<b>Прыцягненьне да адмысловых вузлоў</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:433
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:426
 msgid "<b>Creation</b>"
-msgstr "Кут:"
+msgstr "<b>Стварэньне</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:434
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:427
 msgid "<b>Defined grids</b>"
-msgstr "Кіруючыя"
+msgstr "<b>Вызначаныя сеткі</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:650
-#, fuzzy
+#: ../src/ui/dialog/document-properties.cpp:641
 msgid "Remove grid"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ñ\81еÑ\82кÑ\83"
 
 #: ../src/ui/dialog/export.cpp:32
 msgid "Export"
 msgstr "Экспартаваць"
 
 #: ../src/ui/dialog/extension-editor.cpp:80
-#, fuzzy
 msgid "Information"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cня"
+msgstr "Ð\86нÑ\84аÑ\80маÑ\86Ñ\8bя"
 
 #: ../src/ui/dialog/extension-editor.cpp:81
-#: ../share/extensions/lindenmayer.inx.h:3 ../share/extensions/measure.inx.h:2
+#: ../share/extensions/measure.inx.h:2
 msgid "Help"
-msgstr ""
+msgstr "Дапамога"
 
 #: ../src/ui/dialog/extension-editor.cpp:82
-#, fuzzy
 msgid "Parameters"
-msgstr "мэтры"
+msgstr "Ð\9fаÑ\80амÑ\8dÑ\82Ñ\80Ñ\8b"
 
 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:382
-#, fuzzy
 msgid "No preview"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\96 Ð¿Ñ\80аглÑ\8fд"
+msgstr "Ð\9dÑ\8fма Ð°Ð³Ð»Ñ\8fдÑ\83"
 
 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:488
 msgid "too large for preview"
-msgstr ""
+msgstr "завялікі для агляду"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:577
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:626
 msgid "Enable preview"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\96 Ð¿Ñ\80агляд"
+msgstr "Ð\97адзейнÑ\96Ñ\87аÑ\86Ñ\8c агляд"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:711
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:712
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:198
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:758
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:759
 msgid "All Inkscape Files"
-msgstr "УÑ\81е Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82Ñ\8b Ñ\84оÑ\80мÑ\8b"
+msgstr "УÑ\81е Ñ\84айлÑ\8b Inkscape "
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:716
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:717
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:197
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:763
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:764
 msgid "All Files"
-msgstr "ТÑ\8bп Ñ\84айла:"
+msgstr "УÑ\81е Ñ\84айлÑ\8b"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:722
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:723
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:769
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:770
 msgid "All Images"
-msgstr "Ð\92Ñ\96даÑ\80Ñ\8bÑ\81"
+msgstr "УÑ\81е Ð²Ñ\96даÑ\80Ñ\8bÑ\81Ñ\8b"
 
 #. ###### 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
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:935
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1492
 msgid "Append filename extension automatically"
-msgstr ""
+msgstr "Дадаваць пашырэньне назвы файла аўтаматычна"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1042
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1294
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1079
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1357
 msgid "Guess from extension"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð²Ñ\8bлÑ\83Ñ\87эньня"
+msgstr "УгадваÑ\86Ñ\8c Ð¿Ð°Ð²Ð¾Ð´Ð»Ðµ Ð¿Ð°Ñ\88Ñ\8bÑ\80эньня"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1315
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1378
 msgid "Left edge of source"
-msgstr ""
+msgstr "Левы край крыніцы"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1316
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1379
 msgid "Top edge of source"
-msgstr ""
+msgstr "Верхні край крыніцы"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1317
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1380
 msgid "Right edge of source"
-msgstr ""
+msgstr "Правы край крыніцы"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1318
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1381
 msgid "Bottom edge of source"
-msgstr ""
+msgstr "Ніжні край крыніцы"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1319
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1382
 msgid "Source width"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "ШÑ\8bÑ\80Ñ\8bнÑ\8f ÐºÑ\80Ñ\8bнÑ\96Ñ\86Ñ\8b"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1320
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1383
 msgid "Source height"
-msgstr "Вышыня:"
+msgstr "Вышыня крыніцы"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1321
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1384
 msgid "Destination width"
-msgstr "Ð\94Ñ\80Ñ\83к"
+msgstr "ШÑ\8bÑ\80Ñ\8bнÑ\8f Ð²Ñ\8bнÑ\96кÑ\83"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1322
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1385
 msgid "Destination height"
-msgstr "Ð\94Ñ\80Ñ\83к"
+msgstr "Ð\92Ñ\8bÑ\88Ñ\8bнÑ\8f Ð²Ñ\8bнÑ\96кÑ\83"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1323
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1386
 msgid "Resolution (dots per inch)"
-msgstr ""
+msgstr "Разрозьненьне (кропак на цалю)"
 
 #. #########################################
 #. ## EXTRA WIDGET -- SOURCE SIDE
 #. #########################################
 #. ##### Export options buttons/spinners, etc
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1360
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1423
 msgid "Document"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а"
+msgstr "Ð\94акÑ\83мÑ\8dнÑ\82"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1372
-#: ../share/extensions/color_custom.inx.h:3
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1435
 msgid "Custom"
-msgstr "Ð\9fазнаÑ\87ае ÐºÐ°Ñ\80Ñ\8bÑ\81Ñ\82алÑ\8cнÑ\96к"
+msgstr "Свой"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1412
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1475
 msgid "Cairo"
-msgstr ""
+msgstr "Cairo"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1415
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1478
 msgid "Antialias"
-msgstr ""
+msgstr "Згладжваць"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1481
 msgid "Background"
-msgstr "Ð\9aанÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\90Ñ\81новедзÑ\8c"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1441
-#, fuzzy
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1504
 msgid "Destination"
-msgstr "Друк"
-
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:199
-#, fuzzy
-msgid "All Image Files"
-msgstr "Відарыс"
-
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:428
-#, fuzzy
-msgid "Show Preview"
-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"
 msgstr "Запаўненьне"
 
 #: ../src/ui/dialog/fill-and-stroke.cpp:54
-#, fuzzy
 msgid "Stroke _paint"
-msgstr "Рысаваньне штрыхоўкі"
+msgstr "_Рысаваньне контура"
 
 #: ../src/ui/dialog/fill-and-stroke.cpp:55
-#, fuzzy
 msgid "Stroke st_yle"
-msgstr "Стыль штрыхоўкі"
+msgstr "_Стыль контура"
 
 #: ../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."
+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 ""
 
+#. pack_start(_fromSVGElement, false, false);
 #: ../src/ui/dialog/filter-effects-dialog.cpp:614
-#, fuzzy
 msgid "Image File"
-msgstr "Ð\92Ñ\96даÑ\80Ñ\8bÑ\81"
+msgstr "Файл Ð·Ñ\8c Ð²Ñ\96даÑ\80Ñ\8bÑ\81ам"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:617
-#, fuzzy
 msgid "Selected SVG Element"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bлÑ\83Ñ\87анÑ\8b Ñ\8dлемÑ\8dнÑ\82 SVG"
 
 #. TODO: any image, not justy svg
 #: ../src/ui/dialog/filter-effects-dialog.cpp:686
@@ -10219,63 +8539,59 @@ msgstr ""
 
 #: ../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
 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 "Ð\9fавÑ\8fÑ\80нÑ\83Ñ\86Ñ\8c"
+msgstr "Ð\9cеÑ\81Ñ\86а"
 
 #: ../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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9aааÑ\80дÑ\8bнаÑ\82а 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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9aааÑ\80дÑ\8bнаÑ\82а 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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9aааÑ\80дÑ\8bнаÑ\82а Z"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1002
 #, fuzzy
 msgid "Points At"
-msgstr "Пункты"
+msgstr "%a %d %b %Y а %H:%M GMT"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1003
 #, fuzzy
 msgid "Specular Exponent"
-msgstr "ЭкÑ\81паÑ\80Ñ\82аваÑ\86Ñ\8c"
+msgstr "Ð\90дбÑ\96Ñ\82ае Ñ\81Ñ\8cвÑ\8fÑ\82ло"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1003
 msgid "Exponent value controlling the focus for the light source"
@@ -10283,2235 +8599,1677 @@ 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 "Ð\9aÑ\83Ñ\82"
+msgstr "Ð\92Ñ\83гал ÐºÐ¾Ð½Ñ\83Ñ\81Ñ\83"
 
 #: ../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."
+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 "_Дубляваць"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1132
-#, fuzzy
 msgid "_Filter"
-msgstr "Фільтары"
+msgstr "_Фільтар"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1146
-#, fuzzy
 msgid "R_ename"
-msgstr "Падняць вузел"
+msgstr "_Перайменаваць"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1240
-#, fuzzy
 msgid "Rename filter"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fеÑ\80айменаваÑ\86Ñ\8c Ñ\84Ñ\96лÑ\8cÑ\82аÑ\80"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1276
-#, fuzzy
 msgid "Apply filter"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "УжÑ\8bÑ\86Ñ\8c Ñ\84Ñ\96лÑ\8cÑ\82аÑ\80"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1352
-#, fuzzy
 msgid "Add filter"
-msgstr "Выдаліць вузел"
+msgstr "Дадаць фільтар"
+
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1363
+msgid "Remove filter"
+msgstr "Прыбраць фільтар"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1378
-#, fuzzy
 msgid "Duplicate filter"
-msgstr "Ð\9fадвоÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\94Ñ\83блÑ\8fваÑ\86Ñ\8c Ñ\84Ñ\96лÑ\8cÑ\82аÑ\80"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1445
 msgid "_Effect"
-msgstr ""
+msgstr "_Эфэкт"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:1453
-#, fuzzy
 msgid "Connections"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "Ð\97лÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\96"
 
 #: ../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 "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\83зел Ñ\8dлемÑ\8dнÑ\82а"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:2056
 msgid "Reorder filter primitive"
-msgstr ""
+msgstr "Пераўдарадкаваць прымітывы фільтраў"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:2092
 msgid "Add Effect:"
-msgstr ""
+msgstr "Дадаць эфэкт:"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:2093
-#, fuzzy
 msgid "No effect selected"
-msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð½Ñ\8f Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\9dÑ\8f Ð²Ñ\8bбÑ\80ана Ð½Ñ\96Ñ\8fкага Ñ\8dÑ\84Ñ\8dкÑ\82Ñ\83"
 
 #: ../src/ui/dialog/filter-effects-dialog.cpp:2094
-#, fuzzy
 msgid "No filter selected"
-msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð½Ñ\8f Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\9dÑ\8f Ð²Ñ\8bбÑ\80ана Ð½Ñ\96Ñ\8fкага Ñ\84Ñ\96лÑ\8cÑ\82Ñ\80Ñ\83"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2130
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2129
 msgid "Effect parameters"
-msgstr "Прамакутнік"
+msgstr "Параметры эфэкта"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2131
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2130
 msgid "Filter General Settings"
-msgstr ""
+msgstr "Асноўныя наладкі фільтра"
 
 #. default x:
 #. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2186
 msgid "Coordinates"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9aааÑ\80дÑ\8bнаÑ\82Ñ\8b"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2186
 msgid "X coordinate of the left corners of filter effects region"
-msgstr ""
+msgstr "Каардыната X левых кутоў вобласьці фільтра эфэктаў"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2186
 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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
 #: ../share/extensions/dimension.inx.h:1
 msgid "Dimensions"
-msgstr ""
+msgstr "Вымеры"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2188
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
 msgid "Width of filter effects region"
-msgstr "Ð\9fапеÑ\80а ÐºÐ°Ñ\80Ñ\8bÑ\81Ñ\82алÑ\8cнÑ\96ка"
+msgstr "ШÑ\8bÑ\80Ñ\8bнÑ\8f Ð²Ð¾Ð±Ð»Ð°Ñ\81Ñ\8cÑ\86Ñ\96 Ñ\84Ñ\96лÑ\8cÑ\82Ñ\80а Ñ\8dÑ\84Ñ\8dкÑ\82аÑ\9e"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2188
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
 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
-#: ../share/extensions/triangle.inx.h:9
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2190
+#: ../src/ui/dialog/tracedialog.cpp:553
+#: ../src/widgets/toolbox.cpp:3113
 msgid "Mode"
-msgstr "Рэжым:"
+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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2193
+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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2194
 #, fuzzy
 msgid "Value(s)"
-msgstr "Ð\97наÑ\87Ñ\8dнÑ\8cне"
+msgstr "ЯÑ\80каÑ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2209
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2250
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2207
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2247
 msgid "Operator"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\90пÑ\8dÑ\80аÑ\82аÑ\80"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2210
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2208
 msgid "K1"
-msgstr ""
+msgstr "K1"
 
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2208
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2209
 #: ../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."
+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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2209
 msgid "K2"
-msgstr ""
+msgstr "K2"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2212
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2210
 msgid "K3"
-msgstr ""
+msgstr "K3"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2213
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2211
 msgid "K4"
-msgstr ""
+msgstr "K4"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2214
 msgid "width of the convolve matrix"
-msgstr "Папера карыстальніка"
+msgstr "шырыня матрыцы згортваньня "
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2214
 msgid "height of the convolve matrix"
-msgstr ""
+msgstr "вышыня матрыцы згортваньня "
 
 #. default x:
 #. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2217
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2215
 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2215
+msgid "X coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point."
 msgstr ""
 
-#: ../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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2215
+msgid "Y coordinate of the target point in the convolve matrix. The convolution is applied to pixels around this point."
 msgstr ""
 
-#. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix)
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2219
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
+#, fuzzy
 msgid "Kernel"
-msgstr ""
+msgstr "Пакет з ядром: '${KERNEL}'."
 
-#: ../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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
+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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2219
 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2219
+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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2220
 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2220
+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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2221
 msgid "Edge Mode"
-msgstr "Рэжым:"
+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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2221
+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
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2222
 msgid "Preserve Alpha"
-msgstr "Зьберагчы"
+msgstr "Захоўваць альфу"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2225
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2222
 msgid "If set, the alpha channel won't be altered by this filter primitive."
 msgstr ""
 
 #. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2228
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2225
 msgid "Diffuse Color"
-msgstr "Ð\91аÑ\87нÑ\8b"
+msgstr "РаÑ\81Ñ\8cÑ\81еÑ\8fнÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2228
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2261
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2225
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2258
 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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2226
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2259
+#, fuzzy
 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"
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2226
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2259
+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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2227
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2260
 msgid "Constant"
-msgstr ""
+msgstr "Канстанта"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2230
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2263
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2227
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2260
 msgid "This constant affects the Phong lighting model."
 msgstr ""
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2231
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2265
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2228
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2262
+#, fuzzy
 msgid "Kernel Unit Length"
-msgstr ""
+msgstr "Адносная даўжыня ценю"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2235
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2232
 msgid "This defines the intensity of the displacement effect."
-msgstr ""
+msgstr "Вызначае інтэнсіўнасьць эфэкту зрушэньня."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2236
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2233
 msgid "X displacement"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\83зел Ñ\8dлемÑ\8dнÑ\82а"
+msgstr "Ð\97Ñ\80Ñ\83Ñ\88Ñ\8dнÑ\8cне Ð¿Ð° X"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2236
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2233
 msgid "Color component that controls the displacement in the X direction"
-msgstr ""
+msgstr "Складнік колера, які кіруе зрушэньнем у напрамку X"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2237
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2234
 msgid "Y displacement"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\83зел Ñ\8dлемÑ\8dнÑ\82а"
+msgstr "Ð\97Ñ\80Ñ\83Ñ\88Ñ\8dнÑ\8cне Ð¿Ð° Y"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2237
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2234
 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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2237
 msgid "Flood Color"
-msgstr "Ð\9fаÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\9aолеÑ\80 Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cнÑ\8f"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2240
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2237
 msgid "The whole filter region will be filled with this color."
 msgstr ""
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2244
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2241
 msgid "Standard Deviation"
-msgstr ""
+msgstr "Стандартнае адхіленьне"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2244
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2241
 msgid "The standard deviation for the blur operation."
-msgstr ""
+msgstr "Стандартнае адхіленьне апэрацыі размыцьця."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2250
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2247
 msgid ""
 "Erode: performs \"thinning\" of input image.\n"
 "Dilate: performs \"fattenning\" of input image."
 msgstr ""
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2254
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2251
 msgid "Source of Image"
-msgstr "Ð\9dÑ\8fма Ñ\80аÑ\84аÑ\80боÑ\9eкÑ\96"
+msgstr "Ð\9aÑ\80Ñ\8bнÑ\96Ñ\86а Ð²Ñ\96даÑ\80Ñ\8bÑ\81а"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2257
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2254
 msgid "Delta X"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c"
+msgstr "Ð\94Ñ\8dлÑ\8cÑ\82а Ð¿Ð° X"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2257
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2254
 msgid "This is how far the input image gets shifted to the right"
 msgstr ""
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2258
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2255
 msgid "Delta Y"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c"
+msgstr "Ð\94Ñ\8dлÑ\8cÑ\82а Ð¿Ð° Y"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2258
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2255
 msgid "This is how far the input image gets shifted downwards"
 msgstr ""
 
 #. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2261
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2258
 msgid "Specular Color"
-msgstr "Ð\9fаÑ\87аÑ\82ковы колер"
+msgstr "Ð\90дбÑ\96Ñ\82ы колер"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2264
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2261
 #: ../share/extensions/interp.inx.h:2
-#, fuzzy
 msgid "Exponent"
-msgstr "ЭкÑ\81паÑ\80Ñ\82аваÑ\86ь"
+msgstr "СÑ\82Ñ\83пень"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2264
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2261
 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2270
+msgid "Indicates whether the filter primitive should perform a noise or turbulence function."
 msgstr ""
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2274
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2271
 msgid "Base Frequency"
-msgstr ""
+msgstr "Асноўная часьціня"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2275
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2272
 msgid "Octaves"
-msgstr "Актыўны"
+msgstr "Актавы"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2276
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2273
 msgid "Seed"
-msgstr "ЧÑ\8bÑ\80вонÑ\8b:"
+msgstr "Ð\9bÑ\96к"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2276
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2273
 msgid "The starting number for the pseudo random number generator."
 msgstr ""
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2288
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2285
 msgid "Add filter primitive"
-msgstr ""
+msgstr "Дадаць прымітыў фільтра"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2304
-msgid ""
-"The <b>feBlend</b> filter primitive provides 4 image blending modes: screen, "
-"multiply, darken and lighten."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2301
+msgid "The <b>feBlend</b> filter primitive provides 4 image blending modes: screen, multiply, darken and lighten."
 msgstr ""
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2308
-msgid ""
-"The <b>feColorMatrix</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2305
+msgid "The <b>feColorMatrix</b> 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 <b>feComponentTransfer</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2309
+msgid "The <b>feComponentTransfer</b> 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 <b>feComposite</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2313
+msgid "The <b>feComposite</b> 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 <b>feConvolveMatrix</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2317
+msgid "The <b>feConvolveMatrix</b> 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 <b>feDiffuseLighting</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2321
+msgid "The <b>feDiffuseLighting</b> 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 <b>feDisplacementMap</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2325
+msgid "The <b>feDisplacementMap</b> 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 <b>feFlood</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2329
+msgid "The <b>feFlood</b> 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 <b>feGaussianBlur</b> filter primitive uniformly blurs its input.  It is "
-"commonly used together with feOffset to create a drop shadow effect."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2333
+msgid "The <b>feGaussianBlur</b> 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 <b>feImage</b> filter primitive fills the region with an external image "
-"or another part of the document."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2337
+msgid "The <b>feImage</b> 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 <b>feMerge</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2341
+msgid "The <b>feMerge</b> 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 <b>feMorphology</b> filter primitive provides erode and dilate effects. "
-"For single-colour objects erode makes the object thinner and dilate makes it "
-"thicker."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2345
+msgid "The <b>feMorphology</b> 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 <b>feOffset</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2349
+msgid "The <b>feOffset</b> 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 <b>feSpecularLighting</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2353
+msgid "The feDiffuseLighting and <b>feSpecularLighting</b> 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 <b>feTile</b> filter primitive tiles a region with its input graphic"
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2357
+msgid "The <b>feTile</b> filter primitive tiles a region with its input graphic"
 msgstr ""
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2364
-msgid ""
-"The <b>feTurbulence</b> 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."
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2361
+msgid "The <b>feTurbulence</b> 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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2379
 msgid "Duplicate filter primitive"
-msgstr ""
+msgstr "Падвоіць прымітыў фільтра"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2435
-#, fuzzy
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2432
 msgid "Set filter primitive attribute"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð°Ñ\82Ñ\80Ñ\8bбÑ\83Ñ\82"
+msgstr "Ð\97адаÑ\86Ñ\8c Ð°Ñ\82Ñ\80Ñ\8bбÑ\83Ñ\82 Ð¿Ñ\80Ñ\8bмÑ\96Ñ\82Ñ\8bвÑ\83 Ñ\84Ñ\96лÑ\8cÑ\82Ñ\80а"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:147
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:146
 msgid "Mouse"
-msgstr "Ð\9fÑ\80а Ð¼Ð¾Ð´Ñ\83лÑ\96"
+msgstr "Ð\9cÑ\8bÑ\88"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:149
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:148
 msgid "Grab sensitivity:"
-msgstr "Ð\97Ñ\80абÑ\96Ñ\86Ñ\8c Ñ\87Ñ\83лÑ\8bм"
+msgstr "УÑ\81пÑ\80Ñ\8bмалÑ\8cнаÑ\81Ñ\8cÑ\86Ñ\8c Ð·Ð°Ñ\85опÑ\83:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:149
-#: ../src/ui/dialog/inkscape-preferences.cpp:152
+#: ../src/ui/dialog/inkscape-preferences.cpp:148
+#: ../src/ui/dialog/inkscape-preferences.cpp:151
+#: ../src/ui/dialog/inkscape-preferences.cpp:164
 #: ../src/ui/dialog/inkscape-preferences.cpp:168
-#: ../src/ui/dialog/inkscape-preferences.cpp:172
-#: ../src/ui/dialog/inkscape-preferences.cpp:182
+#: ../src/ui/dialog/inkscape-preferences.cpp:178
 msgid "pixels"
-msgstr "пÑ\96кÑ\81Ñ\8dлÑ\96"
+msgstr "пÑ\96кÑ\81Ñ\8dлÑ\8fÑ\9e"
 
-#: ../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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:149
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:151
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:152
+msgid "Maximum mouse drag (in screen pixels) which is considered a click, not a drag"
+msgstr "Найбольшае перацягваньне мышай (у піксэлях экрана), якое ўспрымаецца як пстрычка, а не перацягваньне"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:155
+#: ../src/ui/dialog/inkscape-preferences.cpp:154
 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 ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:159
-msgid "Switch tool based on tablet device (requires restart)"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:156
+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:161
-msgid ""
-"Change tool as different devices are used on the tablet (pen, eraser, mouse)"
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:166
+#: ../src/ui/dialog/inkscape-preferences.cpp:162
 msgid "Scrolling"
-msgstr ""
+msgstr "Пракручваньне"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:168
+#: ../src/ui/dialog/inkscape-preferences.cpp:164
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:165
+msgid "One mouse wheel notch scrolls by this distance in screen pixels (horizontally with Shift)"
+msgstr "Адзін паварот кола мышы пракручвае на гэтую адлегласьць у піксэлях экрана (па гарызанталі з Shift)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:170
+#: ../src/ui/dialog/inkscape-preferences.cpp:166
 msgid "Ctrl+arrows"
-msgstr ""
+msgstr "Ctrl+стрэлкі"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:172
+#: ../src/ui/dialog/inkscape-preferences.cpp:168
 msgid "Scroll by:"
-msgstr ""
+msgstr "Пракруціць на:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:173
+#: ../src/ui/dialog/inkscape-preferences.cpp:169
 msgid "Pressing Ctrl+arrow key scrolls by this distance (in screen pixels)"
-msgstr ""
+msgstr "Націснуўшы Ctrl+стрэлку на клявіятуры пракруціш на гэтую адлегласьць (у піксэлях экрана)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:175
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:171
 msgid "Acceleration:"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\9fаÑ\81каÑ\80Ñ\8dнÑ\8cне:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:176
-msgid ""
-"Pressing and holding Ctrl+arrow will gradually speed up scrolling (0 for no "
-"acceleration)"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:172
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:173
 msgid "Autoscrolling"
-msgstr ""
+msgstr "Аўтапракручваньне"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:179
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:175
 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 ""
+msgstr "Хуткасьць:"
 
-#: ../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/inkscape-preferences.cpp:176
+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:178
+#: ../src/ui/dialog/tracedialog.cpp:410
+#: ../src/ui/dialog/tracedialog.cpp:443
+#: ../src/ui/dialog/tracedialog.cpp:586
+#: ../src/widgets/toolbox.cpp:5297
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:179
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:180
 msgid "Left mouse button pans when Space is pressed"
-msgstr ""
+msgstr "Націснуўшы Прабел можна азіраць рысунак з дапамогай левай кнопкі мышы"
 
-#: ../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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:182
+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:187
+#: ../src/ui/dialog/inkscape-preferences.cpp:183
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:185
+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 і пракручвае без Ctrl."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:194
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:190
 msgid "Steps"
-msgstr "СÑ\82Ñ\8bлÑ\8c"
+msgstr "Ð\9aÑ\80окÑ\96"
 
 #. nudgedistance is limited to 1000 in select-context.cpp: use the same limit here
-#: ../src/ui/dialog/inkscape-preferences.cpp:198
+#: ../src/ui/dialog/inkscape-preferences.cpp:194
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:195
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:198
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:199
+msgid "Pressing > or < scales selection up or down by this increment (in px units)"
+msgstr "Націсканьне > ці < павялічвае ці зьмяншае памер вылучэньня на гэтую велічыню (у піксэлях)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:205
+#: ../src/ui/dialog/inkscape-preferences.cpp:201
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:202
+msgid "Inset and Outset commands displace the path by this distance (in px units)"
+msgstr "Загад «Сьцісканьне»/«Расьцягваньне» зрушае шлях на гэтую адлегласьць (у піксэлях)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:207
+#: ../src/ui/dialog/inkscape-preferences.cpp:203
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:205
+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:215
+#: ../src/ui/dialog/inkscape-preferences.cpp:211
 msgid "Rotation snaps every:"
-msgstr ""
+msgstr "Абмяжоўваць паварот да кожных:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:215
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:211
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:212
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:214
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:215
+msgid "Zoom tool click, +/- keys, and middle click zoom in and out by this multiplier"
+msgstr "Пстрычка па інструмэнце маштаба, клявішы +/- і пстрычка сярэдняй кнопкай набліжаюць ці аддаляюць на гэты множнік"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:225
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:221
 msgid "Show selection cue"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\9fаказваÑ\86Ñ\8c Ð¿Ð°Ð·Ð½Ð°ÐºÑ\83 Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:226
-msgid ""
-"Whether selected objects display a selection cue (the same as in selector)"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:222
+msgid "Whether selected objects display a selection cue (the same as in selector)"
+msgstr "Ці паказваюць вылучаныя абʼекты пазнаку вылучэньня (як у вылучальніка)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:232
+#: ../src/ui/dialog/inkscape-preferences.cpp:228
 msgid "Enable gradient editing"
-msgstr ""
+msgstr "Задзейнічаць зьмяненьне ґрадыентаў"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:233
+#: ../src/ui/dialog/inkscape-preferences.cpp:229
 msgid "Whether selected objects display gradient editing controls"
-msgstr ""
+msgstr "Ці паказваюць вылучаныя абʼекты сродкі зьмяненьня ґрадыентаў"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:238
+#: ../src/ui/dialog/inkscape-preferences.cpp:234
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:235
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:242
 msgid "Ctrl+click dot size:"
-msgstr ""
+msgstr "Памер кропкі (Ctrl+пстрычка):"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:246
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:242
 msgid "times current stroke width"
-msgstr "Рысаваньне штрыхоўкі"
+msgstr "разы ад бягучай шырыні контура"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:247
+#: ../src/ui/dialog/inkscape-preferences.cpp:243
 msgid "Size of dots created with Ctrl+click (relative to current stroke width)"
-msgstr ""
+msgstr "Памер кропак, створаных Ctrl+пстрычкай (адносна бягучай шырыні контура)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:262
+#: ../src/ui/dialog/inkscape-preferences.cpp:258
 msgid "<b>No objects selected</b> to take the style from."
-msgstr ""
+msgstr "<b>Ня вылучана ніякіх абʼектаў</b>, ад якіх браць стыль."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:271
-msgid ""
-"<b>More than one object selected.</b>  Cannot take style from multiple "
-"objects."
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:267
+msgid "<b>More than one object selected.</b>  Cannot take style from multiple objects."
+msgstr "<b>Вылучана больш за адзін абʼект.</b>  Немагчыма браць стыль ад некалькіх абʼектаў."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:305
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:301
 msgid "Create new objects with:"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ñ\82Ñ\8dкÑ\81Ñ\82а - Ñ\81Ñ\82ваÑ\80ае Ñ\96 Ñ\80Ñ\8dдагÑ\83е Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "СÑ\82ваÑ\80аÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\8bÑ\8f Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð·:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:307
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:303
 msgid "Last used style"
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\90поÑ\88нÑ\96м Ñ\83жÑ\8bванÑ\8bм Ñ\81Ñ\82Ñ\8bлем"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:309
+#: ../src/ui/dialog/inkscape-preferences.cpp:305
 msgid "Apply the style you last set on an object"
-msgstr ""
+msgstr "Ужыць стыль, які апошнім задаваўся абʼекту"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:314
+#: ../src/ui/dialog/inkscape-preferences.cpp:310
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:314
+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
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:319
 msgid "Take from selection"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне вылучэньня"
+msgstr "Ð\91Ñ\80аÑ\86Ñ\8c Ð· вылучэньня"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:327
+#: ../src/ui/dialog/inkscape-preferences.cpp:323
 msgid "This tool's style of new objects"
-msgstr ""
+msgstr "Стыль новых абʼектаў гэтага інструмэнта "
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:335
+#: ../src/ui/dialog/inkscape-preferences.cpp:331
 msgid "Remember the style of the (first) selected object as this tool's style"
-msgstr ""
+msgstr "Запомніць стыль (першага) вылучанага абʼекта як стыль гэтага інструмэнта"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:340
+#: ../src/ui/dialog/inkscape-preferences.cpp:336
 msgid "Tools"
-msgstr ""
+msgstr "Інструмэнты"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:343
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:339
 msgid "Bounding box to use:"
-msgstr "РаÑ\9eнаÑ\86Ñ\8c Ð¿Ð° ÐºÑ\96Ñ\80Ñ\83Ñ\8eÑ\87Ñ\8bÑ\85"
+msgstr "УжÑ\8bваÑ\86Ñ\8c Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð»Ñ\8cнÑ\83Ñ\8e Ñ\80амкÑ\83:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:344
+#: ../src/ui/dialog/inkscape-preferences.cpp:340
 msgid "Visual bounding box"
-msgstr ""
+msgstr "Візуальную"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:346
+#: ../src/ui/dialog/inkscape-preferences.cpp:342
 msgid "This bounding box includes stroke width, markers, filter margins, etc."
-msgstr ""
+msgstr "Гэтая абмежавальная рамка ўтрымлівае таўшчыню контура, меткі, краі фільтраў, і г.д."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:347
+#: ../src/ui/dialog/inkscape-preferences.cpp:343
 msgid "Geometric bounding box"
-msgstr ""
+msgstr "Ґеамэтрычную"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:349
+#: ../src/ui/dialog/inkscape-preferences.cpp:345
 msgid "This bounding box includes only the bare path"
-msgstr ""
+msgstr "Гэтая абмежавальная рамка ўтрымлівае толькі сам контур"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:351
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:347
 msgid "Conversion to guides:"
-msgstr "Ð\9aанвÑ\8dÑ\80Ñ\82Ñ\83е Ð°Ð±'екÑ\82 Ñ\83 Ð´Ñ\83гÑ\83"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cне Ñ\9e Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\8bÑ\8f:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:352
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:348
 msgid "Keep objects after conversion to guides"
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:354
-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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:350
+msgid "When converting an object to guides, don't delete the object after the conversion."
+msgstr "Зьдзяйсьняючы ператварэньне абʼекта ў накіроўныя не выдаляць абʼект па ператварэньні."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:359
+#: ../src/ui/dialog/inkscape-preferences.cpp:352
 msgid "Width is in absolute units"
-msgstr ""
+msgstr "Таўшчыня ў абсалютных адзінках"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:360
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:353
 msgid "Select new path"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bлÑ\83Ñ\87аÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\8b Ñ\88лÑ\8fÑ\85"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:361
+#: ../src/ui/dialog/inkscape-preferences.cpp:354
 msgid "Don't attach connectors to text objects"
-msgstr ""
+msgstr "Не далучаць злучальнікі да тэкставых абʼектаў"
 
 #. Selector
-#: ../src/ui/dialog/inkscape-preferences.cpp:364
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:357
 msgid "Selector"
-msgstr "Вылучэньне"
+msgstr "Вылучальнік"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:367
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:360
 msgid "When transforming, show:"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80мÑ\83е Ð°Ð±'екÑ\82"
+msgstr "Ð\9fÑ\80Ñ\8b Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cнÑ\8fÑ\85 Ð¿Ð°ÐºÐ°Ð·Ð²Ð°Ñ\86Ñ\8c:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:368
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:361
 msgid "Objects"
-msgstr "Аб'ект"
+msgstr "Абʼекты"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:370
+#: ../src/ui/dialog/inkscape-preferences.cpp:363
 msgid "Show the actual objects when moving or transforming"
-msgstr ""
+msgstr "Паказваць сапраўдныя абʼекты  пры перасоўваньні ці ператварэньні"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:371
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:364
 msgid "Box outline"
-msgstr "Ð\9fаказаÑ\86Ñ\8c ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80"
+msgstr "Ð\90бÑ\80Ñ\8bÑ\81 Ñ\81кÑ\80Ñ\8bнÑ\96"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:373
+#: ../src/ui/dialog/inkscape-preferences.cpp:366
 msgid "Show only a box outline of the objects when moving or transforming"
-msgstr ""
+msgstr "Паказваць толькі кубічны абрыс абʼектаў пры перасоўваньні ці ператварэньні"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:374
+#: ../src/ui/dialog/inkscape-preferences.cpp:367
 msgid "Per-object selection cue:"
-msgstr ""
+msgstr "Паабʼектная пазнака вылучэньня"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:377
+#: ../src/ui/dialog/inkscape-preferences.cpp:370
 msgid "No per-object selection indication"
-msgstr ""
+msgstr "Без па-абʼектнай індыкацыі вылучэньня"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:378
+#: ../src/ui/dialog/inkscape-preferences.cpp:371
 msgid "Mark"
-msgstr ""
+msgstr "Пазнака"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:380
+#: ../src/ui/dialog/inkscape-preferences.cpp:373
 msgid "Each selected object has a diamond mark in the top left corner"
-msgstr ""
+msgstr "Кожны вылучаны абʼект пазначаецца ромбам ў верхнім левым куце"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:381
+#: ../src/ui/dialog/inkscape-preferences.cpp:374
 msgid "Box"
-msgstr ""
+msgstr "Скрыня"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:383
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:376
 msgid "Each selected object displays its bounding box"
-msgstr "Ð\9fадÑ\8bмае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð²ÐµÑ\80Ñ\85нÑ\96 Ñ\81лой"
+msgstr "Ð\9aожнÑ\8b Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±Ê¼ÐµÐºÑ\82 Ð¿Ð°ÐºÐ°Ð·Ð²Ð°Ðµ Ñ\9eлаÑ\81нÑ\83Ñ\8e Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð»Ñ\8cнÑ\83Ñ\8e Ñ\80амкÑ\83"
 
 #. Node
-#: ../src/ui/dialog/inkscape-preferences.cpp:386
+#: ../src/ui/dialog/inkscape-preferences.cpp:379
 msgid "Node"
 msgstr "Вузел"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:389
-#, fuzzy
-msgid "Path outline:"
-msgstr "Паказаць контур"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:390
-#: ../src/ui/dialog/inkscape-preferences.cpp:391
-#, fuzzy
-msgid "Path outline color"
-msgstr "Арыентацыя аркуша"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:391
-msgid "Selects the color used for showing the path outline."
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:392
-msgid "Path outline flash on mouse-over"
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:393
-msgid "When hovering over a path, briefly flash its outline."
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:395
-msgid "Flash time"
-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 ""
-
 #. Tweak
-#: ../src/ui/dialog/inkscape-preferences.cpp:398 ../src/verbs.cpp:2419
+#: ../src/ui/dialog/inkscape-preferences.cpp:383
+#: ../src/verbs.cpp:2378
 msgid "Tweak"
-msgstr ""
+msgstr "Карэкцыя"
 
 #. 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
+#: ../src/ui/dialog/inkscape-preferences.cpp:387
+#: ../src/ui/view/edit-widget.cpp:1073
+#: ../src/verbs.cpp:2400
+#: ../src/widgets/desktop-widget.cpp:485
 msgid "Zoom"
-msgstr "Маштабаваньне"
+msgstr "Маштаб"
 
 #. Shapes
-#: ../src/ui/dialog/inkscape-preferences.cpp:408
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:391
 msgid "Shapes"
-msgstr "Фармаваньне"
+msgstr "Фіґуры"
 
 #. Pencil
-#: ../src/ui/dialog/inkscape-preferences.cpp:436 ../src/verbs.cpp:2431
+#: ../src/ui/dialog/inkscape-preferences.cpp:413
+#: ../src/verbs.cpp:2390
 msgid "Pencil"
 msgstr "Аловак"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:439
+#: ../src/ui/dialog/inkscape-preferences.cpp:416
 #: ../src/ui/dialog/tracedialog.cpp:601
-#, fuzzy
 msgid "Tolerance:"
-msgstr "ТÑ\80аÑ\81Ñ\8bÑ\80аваÑ\86Ñ\8c"
+msgstr "Ð\94опÑ\83Ñ\81к:"
 
-#: ../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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:417
+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:422
+#: ../src/verbs.cpp:2392
 msgid "Pen"
 msgstr "Пяро"
 
 #. Calligraphy
-#: ../src/ui/dialog/inkscape-preferences.cpp:452 ../src/verbs.cpp:2435
+#: ../src/ui/dialog/inkscape-preferences.cpp:427
+#: ../src/verbs.cpp:2394
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:431
+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 "Калі задзейнічана, то таўшчыня алоўка ў абсалютных адзінках (пкс), незалежна ад маштабу; інакш таўшчыня алоўка залежыць ад маштабу, таму ён выглядае аднолькава пры любым маштабе"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:458
-msgid ""
-"If on, each newly created object will be selected (deselecting previous "
-"selection)"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:433
+msgid "If on, each newly created object will be selected (deselecting previous selection)"
+msgstr "Калі задзейнічана, кожны новаствораны абʼект будзе вылучаны (здымаючы папярэдняе вылучэньне)"
 
 #. Paint Bucket
-#: ../src/ui/dialog/inkscape-preferences.cpp:460 ../src/verbs.cpp:2447
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:435
+#: ../src/verbs.cpp:2406
 msgid "Paint Bucket"
-msgstr "Друкуе дакумэнт"
-
-#. Eraser
-#: ../src/ui/dialog/inkscape-preferences.cpp:465 ../src/verbs.cpp:2451
-#, fuzzy
-msgid "Eraser"
-msgstr "Падняць"
+msgstr "Вядро"
 
 #. Gradient
-#: ../src/ui/dialog/inkscape-preferences.cpp:475 ../src/verbs.cpp:2439
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:444
+#: ../src/verbs.cpp:2398
 msgid "Gradient"
-msgstr "Вэктар градыента"
+msgstr "Ґрадыент"
 
 #. Connector
-#: ../src/ui/dialog/inkscape-preferences.cpp:479 ../src/verbs.cpp:2445
+#: ../src/ui/dialog/inkscape-preferences.cpp:447
+#: ../src/verbs.cpp:2404
 msgid "Connector"
-msgstr ""
+msgstr "Злучальнік"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:482
+#: ../src/ui/dialog/inkscape-preferences.cpp:450
 msgid "If on, connector attachment points will not be shown for text objects"
-msgstr ""
+msgstr "Калі задейнічана, то пункты далучэньня злучальнікаў ня будуць паказвацца на тэкставых абʼектах"
 
 #. Dropper
-#: ../src/ui/dialog/inkscape-preferences.cpp:484 ../src/verbs.cpp:2443
+#: ../src/ui/dialog/inkscape-preferences.cpp:452
+#: ../src/verbs.cpp:2402
 msgid "Dropper"
 msgstr "Піпетка"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:491
+#: ../src/ui/dialog/inkscape-preferences.cpp:459
 msgid "Save and restore window geometry for each document"
-msgstr ""
+msgstr "Захоўваць і аднаўляць ґеамэтрыю вакна кожнага дакумэнта"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:492
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:460
 msgid "Remember and use last window's geometry"
-msgstr "Захоўвае дакумэнт"
+msgstr "Запамінаць і выкарыстоўваць апошнюю ґеамэтрыю вакна"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:493
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:461
 msgid "Don't save window geometry"
-msgstr "Ð\97аÑ\85оÑ\9eвае Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82"
+msgstr "Ð\9dе Ð·Ð°Ñ\85оÑ\9eваÑ\86Ñ\8c Ò\91еамÑ\8dÑ\82Ñ\80Ñ\8bÑ\8e Ð²Ð°ÐºÐ¾Ð½"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:495
-#: ../src/ui/dialog/inkscape-preferences.cpp:515
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:463
+#: ../src/ui/dialog/inkscape-preferences.cpp:488
 msgid "Dockable"
-msgstr "Ð\9cаÑ\88Ñ\82аб"
+msgstr "Ð\9fÑ\80Ñ\8bмаÑ\86аванÑ\8b"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:498
+#: ../src/ui/dialog/inkscape-preferences.cpp:466
 msgid "Dialogs are hidden in taskbar"
-msgstr ""
+msgstr "Дыялёґі не паказваюцца на панэлі задач"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:499
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:467
 msgid "Zoom when window is resized"
-msgstr "Маштабаваць рысунак калі зьмяняецца памер акна"
+msgstr "Мяняць маштаб, калі зьменены памер вакна"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:500
+#: ../src/ui/dialog/inkscape-preferences.cpp:468
 msgid "Show close button on dialogs"
-msgstr ""
+msgstr "Паказваць кнопку закрыцьця ў дыялёґах"
 
-#. consider moving this to an UI tab:
-#: ../src/ui/dialog/inkscape-preferences.cpp:502
-#: ../src/ui/dialog/inkscape-preferences.cpp:968
+#: ../src/ui/dialog/inkscape-preferences.cpp:470
 msgid "Normal"
-msgstr ""
+msgstr "Нармальна"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:503
+#: ../src/ui/dialog/inkscape-preferences.cpp:471
 msgid "Aggressive"
-msgstr ""
+msgstr "Аґрэсіўна"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:505
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:475
+msgid "Dialogs stay on top (experimental!)"
+msgstr "Дыялёґі наверсе (экспэрымэнтальна!)"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:478
 msgid "Saving window geometry (size and position):"
-msgstr "Ð\97аÑ\85оÑ\9eвае Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82"
+msgstr "Ð\97аÑ\85оÑ\9eванÑ\8cне Ò\91еамÑ\8dÑ\82Ñ\80Ñ\8bÑ\96 Ð²Ð°ÐºÐ¾Ð½ (памеÑ\80 Ñ\96 Ñ\81Ñ\82ановÑ\96Ñ\88Ñ\87а):"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:507
+#: ../src/ui/dialog/inkscape-preferences.cpp:480
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:482
+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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:484
+msgid "Save and restore window geometry for each document (saves geometry in the document)"
+msgstr "Захоўваць і аднаўляць ґеамэтрыю вакна кожнага дакумэнта (захоўвае ґеамэтрыю ў дакумэнце)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:513
+#: ../src/ui/dialog/inkscape-preferences.cpp:486
 msgid "Dialog behavior (requires restart):"
-msgstr ""
+msgstr "Паводзіны дыялёґу (патрэбны перазапуск):"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:520
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:492
 msgid "Dialogs on top:"
-msgstr "Дыялёгі"
+msgstr "Дыялёґі наверсе:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:523
+#: ../src/ui/dialog/inkscape-preferences.cpp:495
 msgid "Dialogs are treated as regular windows"
-msgstr ""
+msgstr "Дыялёґі ўспрымаюцца як звычайныя вокны"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:525
+#: ../src/ui/dialog/inkscape-preferences.cpp:497
 msgid "Dialogs stay on top of document windows"
-msgstr ""
+msgstr "Дыялёґі знаходзяцца па-над вокнамі дакумэнтаў"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:527
+#: ../src/ui/dialog/inkscape-preferences.cpp:499
 msgid "Same as Normal but may work better with some window managers"
+msgstr "Таксама як «Нармальна», але можа лепей працаваць зь некаторымі ваконнымі кіраўнікамі"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:502
+msgid "Whether dialogs should stay on top of document windows. Read the ReleaseNotes on this issue! (Rightclick the taskbar button and press 'Restore' to bring back a minimized document window)"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:530
+#: ../src/ui/dialog/inkscape-preferences.cpp:505
 msgid "Miscellaneous:"
-msgstr ""
+msgstr "Рознае:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:533
+#: ../src/ui/dialog/inkscape-preferences.cpp:508
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:511
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:513
 msgid "Whether dialog windows have a close button (requires restart)"
-msgstr ""
+msgstr "Ці маюць вокны дыялёґаў маюць кнопку закрыцьця (патрэбны перазапуск)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:539
+#: ../src/ui/dialog/inkscape-preferences.cpp:514
 msgid "Windows"
-msgstr ""
+msgstr "Вокны"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:544
+#: ../src/ui/dialog/inkscape-preferences.cpp:519
 msgid "Move in parallel"
-msgstr ""
+msgstr "Пасунуць паралельна"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:546
+#: ../src/ui/dialog/inkscape-preferences.cpp:521
 msgid "Stay unmoved"
-msgstr ""
+msgstr "Пакінуць нязрушанымі"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:548
+#: ../src/ui/dialog/inkscape-preferences.cpp:523
 msgid "Move according to transform"
-msgstr ""
+msgstr "Пасунуць адпаведна ператварэньню"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:550
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:525
 msgid "Are unlinked"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\90длÑ\83Ñ\87анÑ\8bÑ\8f"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:552
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:527
 msgid "Are deleted"
-msgstr "Ð\9fеÑ\80Ñ\88Ñ\8b Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\92Ñ\8bдаленÑ\8bÑ\8f"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:555
+#: ../src/ui/dialog/inkscape-preferences.cpp:530
 msgid "When the original moves, its clones and linked offsets:"
-msgstr ""
+msgstr "Калі арыґінал пасунуты, то ягоныя клоны й злучаныя зрухі:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:557
+#: ../src/ui/dialog/inkscape-preferences.cpp:532
 msgid "Clones are translated by the same vector as their original."
-msgstr ""
+msgstr "Клоны пасоўваюцца на той жа вэктар, што й арыґінал."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:559
+#: ../src/ui/dialog/inkscape-preferences.cpp:534
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:536
+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:562
+#: ../src/ui/dialog/inkscape-preferences.cpp:537
 msgid "When the original is deleted, its clones:"
-msgstr ""
+msgstr "Калі арыґінал выдалены, ягоныя клоны:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:564
+#: ../src/ui/dialog/inkscape-preferences.cpp:539
 msgid "Orphaned clones are converted to regular objects."
-msgstr ""
+msgstr "Асірацелыя клоны ператвараюцца ў звычайныя абʼекты."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:566
+#: ../src/ui/dialog/inkscape-preferences.cpp:541
 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
-#, fuzzy
-msgid "Clones"
-msgstr "Закрыць"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:574
+#: ../src/ui/dialog/inkscape-preferences.cpp:548
 msgid "When applying, use the topmost selected object as clippath/mask"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:576
-msgid ""
-"Uncheck this to use the bottom selected object as the clipping path or mask"
+#: ../src/ui/dialog/inkscape-preferences.cpp:550
+msgid "Uncheck this to use the bottom selected object as the clipping path or mask"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:577
+#: ../src/ui/dialog/inkscape-preferences.cpp:551
 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"
+#: ../src/ui/dialog/inkscape-preferences.cpp:553
+msgid "After applying, remove the object used as the clipping path or mask from the drawing"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:580
+#: ../src/ui/dialog/inkscape-preferences.cpp:554
 msgid "Clippaths and masks"
-msgstr ""
+msgstr "Шляхі абразаньня й маскі"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:585
-#: ../src/widgets/select-toolbar.cpp:524
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:559
+#: ../src/widgets/select-toolbar.cpp:495
 msgid "Scale stroke width"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\8fÑ\86Ñ\8c Ñ\82аÑ\9eÑ\88Ñ\87Ñ\8bнÑ\8e ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:586
+#: ../src/ui/dialog/inkscape-preferences.cpp:560
 msgid "Scale rounded corners in rectangles"
-msgstr ""
+msgstr "Зьмяняць радыюс скругленых кутоў прастакутнікаў"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:587
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:561
 msgid "Transform gradients"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cне Ò\91Ñ\80адÑ\8bенÑ\82аÑ\9e"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:588
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:562
 msgid "Transform patterns"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cне Ñ\9eзоÑ\80аÑ\9e"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:589
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:563
 msgid "Optimized"
-msgstr "Аптымізаваць"
+msgstr "Аптымізаванае"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:590
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:564
 msgid "Preserved"
-msgstr "Зьберагчы"
+msgstr "Захаванае"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:593
-#: ../src/widgets/select-toolbar.cpp:525
+#: ../src/ui/dialog/inkscape-preferences.cpp:567
+#: ../src/widgets/select-toolbar.cpp:496
 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
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:569
+#: ../src/widgets/select-toolbar.cpp:507
 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
+#: ../src/ui/dialog/inkscape-preferences.cpp:571
+#: ../src/widgets/select-toolbar.cpp:518
 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
+#: ../src/ui/dialog/inkscape-preferences.cpp:573
+#: ../src/widgets/select-toolbar.cpp:529
 msgid "Move patterns (in fill or stroke) along with the objects"
-msgstr ""
+msgstr "Перасоўваць узоры (запаўненьня ці контура) разам з абʼектамі"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:600
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:574
 msgid "Store transformation:"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cнÑ\96"
+msgstr "Ð\97аÑ\85оÑ\9eваÑ\86Ñ\8c Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cне:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:602
-msgid ""
-"If possible, apply transformation to objects without adding a transform= "
-"attribute"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:576
+msgid "If possible, apply transformation to objects without adding a transform= attribute"
+msgstr "Калі магчыма, ужываць ператварэньне абʼектаў без дабаўленьня атрыбуту transform="
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:604
+#: ../src/ui/dialog/inkscape-preferences.cpp:578
 msgid "Always store transformation as a transform= attribute on objects"
-msgstr ""
+msgstr "Заўжды захоўваць ператварэньне як атрыбут абʼекта transform="
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:606
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:580
 msgid "Transforms"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне:"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cнÑ\96"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:611
+#: ../src/ui/dialog/inkscape-preferences.cpp:585
 msgid "Best quality (slowest)"
-msgstr ""
+msgstr "Найлепшая якасьць (найпавольна)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:613
+#: ../src/ui/dialog/inkscape-preferences.cpp:587
 msgid "Better quality (slower)"
-msgstr ""
+msgstr "Лепшая якасьць (павольней)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:615
+#: ../src/ui/dialog/inkscape-preferences.cpp:589
 msgid "Average quality"
-msgstr ""
+msgstr "Сярэдняя якасьць"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:617
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:591
 msgid "Lower quality (faster)"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\93оÑ\80Ñ\88аÑ\8f Ñ\8fкаÑ\81Ñ\8cÑ\86Ñ\8c (Ñ\85Ñ\83Ñ\82Ñ\87Ñ\8dй)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:619
+#: ../src/ui/dialog/inkscape-preferences.cpp:593
 msgid "Lowest quality (fastest)"
-msgstr ""
+msgstr "Найгоршая якасьць (найхутчэй)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:622
+#: ../src/ui/dialog/inkscape-preferences.cpp:596
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:598
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:600
 msgid "Better quality, but slower display"
-msgstr ""
+msgstr "Лепшая якасьць, але павольнейшы паказ"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:628
+#: ../src/ui/dialog/inkscape-preferences.cpp:602
 msgid "Average quality, acceptable display speed"
-msgstr ""
+msgstr "Сярэдняя якасьць, прыймальная хуткасьць паказу"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:630
+#: ../src/ui/dialog/inkscape-preferences.cpp:604
 msgid "Lower quality (some artifacts), but display is faster"
-msgstr ""
+msgstr "Горшая якасьць (крыху артэфактаў), але хутчэйшы паказ"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:632
+#: ../src/ui/dialog/inkscape-preferences.cpp:606
 msgid "Lowest quality (considerable artifacts), but display is fastest"
-msgstr ""
+msgstr "Найгоршая якасьць (значныя артэфакты), але найхутчэйшы паказ"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:634
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:608
 msgid "Show filter primitives infobox"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð°Ñ\82Ñ\80Ñ\8bбÑ\83Ñ\82"
+msgstr "Ð\9fаказваÑ\86Ñ\8c Ð²Ð°ÐºÐµÐ½Ñ\86а Ð· Ð¿Ñ\80Ñ\8bмÑ\96Ñ\82Ñ\8bвамÑ\96 Ñ\84Ñ\96лÑ\8cÑ\82Ñ\80аÑ\9e"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:636
-msgid ""
-"Show icons and descriptions for the filter primitives available at the "
-"filter effects dialog."
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:610
+msgid "Show icons and descriptions for the filter primitives available at the filter effects dialog."
+msgstr "Паказваць значкі й апісаньні прымітываў фільтраў, наяўных у дыялёгу эфэктаў фільтраў."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:638
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:612
 msgid "Filters"
-msgstr "Фільтары"
+msgstr "Фільтры"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:644
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:618
 msgid "Select in all layers"
-msgstr "Ð\92Ñ\8bбÑ\8fÑ\80Ñ\8bÑ\86е Ð´Ñ\80Ñ\83каÑ\80кÑ\83"
+msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c Ð½Ð° Ñ\9eÑ\81Ñ\96Ñ\85 Ð¿Ð»Ð°Ñ\81Ñ\82аÑ\85"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:645
+#: ../src/ui/dialog/inkscape-preferences.cpp:619
 msgid "Select only within current layer"
-msgstr ""
+msgstr "Вылучаць толькі на бягучым пласьце"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:646
+#: ../src/ui/dialog/inkscape-preferences.cpp:620
 msgid "Select in current layer and sublayers"
-msgstr ""
+msgstr "Вылучаць на бягучым пласьце й падпластах"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:647
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:621
 msgid "Ignore hidden objects and layers"
-msgstr "Ð\92Ñ\8bбÑ\8fÑ\80Ñ\8bÑ\86е Ð´Ñ\80Ñ\83каÑ\80кÑ\83"
+msgstr "Ð\86гнаÑ\80аваÑ\86Ñ\8c Ñ\81Ñ\85аванÑ\8bÑ\8f Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð¹ Ð¿Ð»Ð°Ñ\81Ñ\82Ñ\8b"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:648
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:622
 msgid "Ignore locked objects and layers"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екты"
+msgstr "Ð\86гнаÑ\80аваÑ\86Ñ\8c Ð·Ð°Ð¼ÐºÐ½Ñ\83Ñ\82Ñ\8bÑ\8f Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð¹ Ð¿Ð»Ð°Ñ\81ты"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:649
+#: ../src/ui/dialog/inkscape-preferences.cpp:623
 msgid "Deselect upon layer change"
-msgstr ""
+msgstr "Здымаць вылучэньне пры зьмяненьні пласта"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:651
+#: ../src/ui/dialog/inkscape-preferences.cpp:625
 msgid "Ctrl+A, Tab, Shift+Tab:"
-msgstr ""
+msgstr "Ctrl+A, Tab, Shift+Tab:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:653
+#: ../src/ui/dialog/inkscape-preferences.cpp:627
 msgid "Make keyboard selection commands work on objects in all layers"
-msgstr ""
+msgstr "Зрабіць, каб клявіятурныя загады па вылучэньні працавалі з абʼектамі на ўсіх пластах"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:655
+#: ../src/ui/dialog/inkscape-preferences.cpp:629
 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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:631
+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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:633
+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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:635
+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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:638
+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
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:640
 msgid "Selecting"
 msgstr "Вылучэньне"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:673
+#: ../src/ui/dialog/inkscape-preferences.cpp:647
 msgid "Default export resolution:"
-msgstr ""
+msgstr "Прадвызначанае разрозьненьне экспартаваньня:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:674
+#: ../src/ui/dialog/inkscape-preferences.cpp:648
 msgid "Default bitmap resolution (in dots per inch) in the Export dialog"
-msgstr ""
+msgstr "Прадвызначанае разрозьненьне растра (у пунктах на цалю) у дыялёґу экспартаваньня"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:676
+#: ../src/ui/dialog/inkscape-preferences.cpp:650
 msgid "Open Clip Art Library Server Name:"
-msgstr ""
+msgstr "Назва паслужніка  адкрытай бібліятэкі відарысаў:"
 
-#: ../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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:651
+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-паслужніка Адкрытай бібліятэкі відарысаў. Выкарыстоўваецца функцыямі імпартаваньня й экспартаваньня ў АБВ."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:679
+#: ../src/ui/dialog/inkscape-preferences.cpp:653
 msgid "Open Clip Art Library Username:"
-msgstr ""
+msgstr "Імя карыстальніка адкрытай бібліятэкі відарысаў:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:680
+#: ../src/ui/dialog/inkscape-preferences.cpp:654
 msgid "The username used to log into Open Clip Art Library."
-msgstr ""
+msgstr "Імя карыстальніка, якое выкарыстоўваецца для ўваходу ў Адкрытую бібліятэку відарысаў."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:682
+#: ../src/ui/dialog/inkscape-preferences.cpp:656
 msgid "Open Clip Art Library Password:"
-msgstr ""
+msgstr "Пароль адкрытай бібліятэкі відарысаў:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:683
+#: ../src/ui/dialog/inkscape-preferences.cpp:657
 msgid "The password used to log into Open Clip Art Library."
-msgstr ""
+msgstr "Пароль, які выкарыстоўваецца для ўваходу ў Адкрытую бібліятэку відарысаў."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:685
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:659
 msgid "Import/Export"
-msgstr "Імпартаваць"
+msgstr "Імпарт/Экспарт"
 
 #. TRANSLATORS: see http://www.newsandtech.com/issues/2004/03-04/pt/03-04_rendering.htm
-#: ../src/ui/dialog/inkscape-preferences.cpp:731
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:705
 msgid "Perceptual"
-msgstr "Ð\90дÑ\81оÑ\82ка"
+msgstr "Ð\9fÑ\8dÑ\80Ñ\86Ñ\8dпÑ\86Ñ\8bйнаÑ\8f"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:731
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:705
 msgid "Relative Colorimetric"
-msgstr "Адноснае перамяшчэньне"
+msgstr "Адносная колерамэтрычная"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:731
+#: ../src/ui/dialog/inkscape-preferences.cpp:705
 msgid "Absolute Colorimetric"
-msgstr ""
+msgstr "Абсалючная колерамэтрычная"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:735
+#: ../src/ui/dialog/inkscape-preferences.cpp:709
 msgid "(Note: Color management has been disabled in this build)"
-msgstr ""
+msgstr "(Увага: кіраваньне колерам не было задзейнічана ў гэтай пабудове)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:739
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:713
 msgid "Display adjustment"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ñ\8bÑ\81плÑ\8dÑ\8f"
+msgstr "Ð\94аÑ\81Ñ\82аÑ\81аванÑ\8cне Ñ\8dкÑ\80анÑ\83"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:741
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:715
 msgid "Display profile:"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ñ\8bÑ\81плÑ\8dÑ\8f"
+msgstr "Ð\9fÑ\80оÑ\84Ñ\96лÑ\8c Ð¼Ð°Ð½Ñ\96Ñ\82оÑ\80а:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:742
+#: ../src/ui/dialog/inkscape-preferences.cpp:716
 msgid "The ICC profile to use to calibrate display output."
-msgstr ""
+msgstr "Профіль ICC для калібраваньня выводжаньня на экран."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:744
+#: ../src/ui/dialog/inkscape-preferences.cpp:718
 msgid "Retrieve profile from display"
-msgstr ""
+msgstr "Атрымаць профіль з экрана"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:747
+#: ../src/ui/dialog/inkscape-preferences.cpp:721
 msgid "Retrieve profiles from those attached to displays via XICC."
-msgstr ""
+msgstr "Атрымаць профілі зь ліку далучаных да экранаў праз XICC."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:749
+#: ../src/ui/dialog/inkscape-preferences.cpp:723
 msgid "Retrieve profiles from those attached to displays."
-msgstr ""
+msgstr "Атрымаць профілі зь ліку далучаных да экранаў."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:754
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:728
 msgid "Display rendering intent:"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ñ\8bÑ\81плÑ\8dÑ\8f"
+msgstr "Ð\9fеÑ\80адаÑ\87а ÐºÐ¾Ð»ÐµÑ\80а Ð½Ð° Ñ\8dкÑ\80ане: "
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:755
-#: ../src/ui/dialog/inkscape-preferences.cpp:778
+#: ../src/ui/dialog/inkscape-preferences.cpp:729
+#: ../src/ui/dialog/inkscape-preferences.cpp:752
 msgid "The rendering intent to use to calibrate display output."
-msgstr ""
+msgstr "Перадача колераў для калібраваньня выводжаньня на экран."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:757
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:731
 msgid "Proofing"
-msgstr "Ð\9fÑ\83нкÑ\82"
+msgstr "Ð\9aолеÑ\80аÑ\81пÑ\80оба"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:759
+#: ../src/ui/dialog/inkscape-preferences.cpp:733
 msgid "Simulate output on screen"
-msgstr ""
+msgstr "Удаваць выводжаньне на экране"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:761
+#: ../src/ui/dialog/inkscape-preferences.cpp:735
 msgid "Simulates output of target device."
-msgstr ""
+msgstr "Удае выводжаньне мэтавай прыладай."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:763
+#: ../src/ui/dialog/inkscape-preferences.cpp:737
 msgid "Mark out of gamut colors"
-msgstr ""
+msgstr "Пазначыць колеры, якія не трапляюць у дыяпазон"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:765
+#: ../src/ui/dialog/inkscape-preferences.cpp:739
 msgid "Highlights colors that are out of gamut for the target device."
-msgstr ""
+msgstr "Пазначыць колеры, якія не трапляюць у дыяпазон мэтавай прылады."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:770
+#: ../src/ui/dialog/inkscape-preferences.cpp:744
 msgid "Out of gamut warning color:"
-msgstr ""
+msgstr "Колер пазначэньня:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:771
+#: ../src/ui/dialog/inkscape-preferences.cpp:745
 msgid "Selects the color used for out of gamut warning."
-msgstr ""
+msgstr "Выбраць колер папярэджваньня аб ня трапіўшых у дыяпазон."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:773
+#: ../src/ui/dialog/inkscape-preferences.cpp:747
 msgid "Device profile:"
-msgstr ""
+msgstr "Профіль прылады:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:774
+#: ../src/ui/dialog/inkscape-preferences.cpp:748
 msgid "The ICC profile to use to simulate device output."
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:777
-msgid "Device rendering intent:"
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:780
-#, fuzzy
-msgid "Black point compensation"
-msgstr "Друк"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:782
-msgid "Enables black point compensation."
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:784
-#, fuzzy
-msgid "Preserve black"
-msgstr "Зьберагчы"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:789
-msgid "(LittleCMS 1.15 or later required)"
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:791
-msgid "Preserve K channel in CMYK -> CMYK transforms"
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:804
-#, fuzzy
-msgid "<none>"
-msgstr "Няма"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:850
-msgid "Color management"
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:855
-#, fuzzy
-msgid "Major grid line emphasizing"
-msgstr "Колер кіруючых рысаў"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:857
-msgid "Don't emphasize gridlines when zoomed out"
-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 ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:860
-#, fuzzy
-msgid "Default grid settings"
-msgstr "Наладкі штрыхоўкі"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:866
-#: ../src/ui/dialog/inkscape-preferences.cpp:887
-#, fuzzy
-msgid "Grid units"
-msgstr "Адзінкі сеткі:"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:869
-#: ../src/ui/dialog/inkscape-preferences.cpp:890
-#, fuzzy
-msgid "Origin X"
-msgstr "Зрух па Х:"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:870
-#: ../src/ui/dialog/inkscape-preferences.cpp:891
-#, fuzzy
-msgid "Origin Y"
-msgstr "Зрух па Y:"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:873
-#, fuzzy
-msgid "Spacing X"
-msgstr "Крок па Х:"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:874
-#: ../src/ui/dialog/inkscape-preferences.cpp:893
-#, fuzzy
-msgid "Spacing Y"
-msgstr "Крок па Y:"
+msgstr "Профіль ICC для ўдаваньня выводжаньня прыладай."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:877
-#: ../src/ui/dialog/inkscape-preferences.cpp:899
-msgid "Selects the color used for normal grid lines."
-msgstr ""
-
-#: ../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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:751
+msgid "Device rendering intent:"
+msgstr "Перадача колера на прыладзе:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:881
-#: ../src/ui/dialog/inkscape-preferences.cpp:903
-#, fuzzy
-msgid "Major grid line every"
-msgstr "Колер кіруючых рысаў"
+#: ../src/ui/dialog/inkscape-preferences.cpp:754
+msgid "Black point compensation"
+msgstr "Кампэнсацыя чорнага пункту"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:882
-msgid "Show dots instead of lines"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:756
+msgid "Enables black point compensation."
+msgstr "Задзейнічаць кампэнсацыю чорнага пункта."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:896
-#, fuzzy
-msgid "Angle X"
-msgstr "Кут:"
+#: ../src/ui/dialog/inkscape-preferences.cpp:758
+msgid "Preserve black"
+msgstr "Захоўваць чорны"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:897
-#, fuzzy
-msgid "Angle Z"
-msgstr "Кут:"
+#: ../src/ui/dialog/inkscape-preferences.cpp:763
+msgid "(LittleCMS 1.15 or later required)"
+msgstr "(Патрэбная LittleCMS 1.15 ці пазьнейшая)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:910
-#, fuzzy
-msgid "Use named colors"
-msgstr "Другі вылучаны"
+#: ../src/ui/dialog/inkscape-preferences.cpp:765
+msgid "Preserve K channel in CMYK -> CMYK transforms"
+msgstr "Захоўваць канал K пры ператварэньнях CMYK -> CMYK"
 
-#: ../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/inkscape-preferences.cpp:778
+msgid "<none>"
+msgstr "<няма>"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:913
-msgid "XML looks"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:824
+msgid "Color management"
+msgstr "Кіраваньне колерам"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:915
-#, fuzzy
-msgid "Inline attributes"
-msgstr "Усталяваць атрыбут"
+#: ../src/ui/dialog/inkscape-preferences.cpp:829
+msgid "Major grid line emphasizing"
+msgstr "Вылучэньне галоўных ліній сеткі"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:916
-#, fuzzy
-msgid "Inline the XML attributes"
-msgstr "Выдаліць атрыбут"
+#: ../src/ui/dialog/inkscape-preferences.cpp:831
+msgid "Don't emphasize gridlines when zoomed out"
+msgstr "Не акцэнтаваць лініі сеткі пры аддаленьні"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:919
-#, fuzzy
-msgid "Indent spaces"
-msgstr "Дадаць водступ вузла"
+#: ../src/ui/dialog/inkscape-preferences.cpp:832
+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:919
-msgid "The number of spaces to use for indentation."
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:834
+msgid "Default grid settings"
+msgstr "Прадвызначаныя наладкі сеткі"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:921
-#, fuzzy
-msgid "Path string"
-msgstr "Ð\9dаладкÑ\96 Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкі"
+#: ../src/ui/dialog/inkscape-preferences.cpp:840
+#: ../src/ui/dialog/inkscape-preferences.cpp:861
+msgid "Grid units"
+msgstr "Ð\90дзÑ\96нкÑ\96 Ñ\81еÑ\82кі"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:923
-msgid "Allow relative coordinates"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:843
+#: ../src/ui/dialog/inkscape-preferences.cpp:864
+msgid "Origin X"
+msgstr "Пачатак па X"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:924
-msgid "If set, relative coordinates may be used in path data"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:844
+#: ../src/ui/dialog/inkscape-preferences.cpp:865
+msgid "Origin Y"
+msgstr "Пачатак па Y"
 
-#. 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/inkscape-preferences.cpp:847
+msgid "Spacing X"
+msgstr "Інтэрвал па X"
 
-#: ../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/inkscape-preferences.cpp:848
+#: ../src/ui/dialog/inkscape-preferences.cpp:867
+msgid "Spacing Y"
+msgstr "Інтэрвал па Y"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:934
-msgid "Numeric data"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:851
+#: ../src/ui/dialog/inkscape-preferences.cpp:873
+msgid "Selects the color used for normal grid lines."
+msgstr "Выбірае колер, якім рысуюцца нармальныя лініі сеткі."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:937
-#, fuzzy
-msgid "Numeric precision"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+#: ../src/ui/dialog/inkscape-preferences.cpp:853
+#: ../src/ui/dialog/inkscape-preferences.cpp:875
+msgid "Selects the color used for major (highlighted) grid lines."
+msgstr "Ð\92Ñ\8bбÑ\96Ñ\80ае ÐºÐ¾Ð»ÐµÑ\80, Ñ\8fкÑ\96м Ñ\80Ñ\8bÑ\81Ñ\83Ñ\8eÑ\86Ñ\86а Ð³Ð°Ð»Ð¾Ñ\9eнÑ\8bÑ\8f (падÑ\81Ñ\8cвеÑ\87анÑ\8bÑ\8f) Ð»Ñ\96нÑ\96Ñ\96 Ñ\81еÑ\82кÑ\96."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:937
-msgid "The number of digits to use behind the comma."
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:855
+#: ../src/ui/dialog/inkscape-preferences.cpp:877
+msgid "Major grid line every"
+msgstr "Галоўная лінія сеткі кожныя"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:940
-#, fuzzy
-msgid "Minimum exponent"
-msgstr "Памер кропкавага відарыса"
+#: ../src/ui/dialog/inkscape-preferences.cpp:856
+msgid "Show dots instead of lines"
+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 ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:870
+msgid "Angle X"
+msgstr "Вугал па X"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:871
+msgid "Angle Z"
+msgstr "Вугал па Z"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:947
+#: ../src/ui/dialog/inkscape-preferences.cpp:884
 msgid "Add label comments to printing output"
 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"
+#: ../src/ui/dialog/inkscape-preferences.cpp:886
+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:951
+#: ../src/ui/dialog/inkscape-preferences.cpp:888
 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"
+#: ../src/ui/dialog/inkscape-preferences.cpp:890
+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 ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:955
+#: ../src/ui/dialog/inkscape-preferences.cpp:892
 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."
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:893
+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
+#: ../src/ui/dialog/inkscape-preferences.cpp:895
 msgid "2x2"
-msgstr "2x2"
+msgstr "2×2"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:958
+#: ../src/ui/dialog/inkscape-preferences.cpp:895
 msgid "4x4"
-msgstr "4x4"
+msgstr "4×4"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:958
+#: ../src/ui/dialog/inkscape-preferences.cpp:895
 msgid "8x8"
-msgstr "8x8"
+msgstr "8×8"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:958
+#: ../src/ui/dialog/inkscape-preferences.cpp:895
 msgid "16x16"
-msgstr "16x16"
+msgstr "16×16"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:962
-msgid "Oversample bitmaps:"
-msgstr "Усярэджваць растр па кропках:"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:972
+#: ../src/ui/dialog/inkscape-preferences.cpp:899
 #, fuzzy
-msgid "Commands bar icon size"
-msgstr "Памер і пазыцыя"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:973
-msgid "Set the size for the commands toolbar to use (requires restart)"
-msgstr ""
+msgid "Oversample bitmaps:"
+msgstr "_Прасторавая перадыскрэтызацыя:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:976
-#, fuzzy
-msgid "Tool controls bar icon size"
-msgstr "Ð\92Ñ\8bбаÑ\80Ñ\8b Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82а"
+#. consider moving this to an UI tab:
+#: ../src/ui/dialog/inkscape-preferences.cpp:903
+msgid "Make the commands toolbar icons smaller"
+msgstr "Ð\97Ñ\80абÑ\96Ñ\86Ñ\8c Ð¼ÐµÐ½Ñ\88Ñ\8bмÑ\96 Ð·Ð½Ð°Ñ\87кÑ\96 Ð¿Ð°Ð½Ñ\8dлÑ\96 Ð·Ð°Ð³Ð°Ð´Ð°Ñ\9e"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:977
-msgid "Set the size for the secondary toolbar to use (requires restart)"
+#: ../src/ui/dialog/inkscape-preferences.cpp:905
+msgid "Make the commands toolbar use the 'secondary' toolbar size (requires restart)"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:980
-msgid "Main toolbar icon size"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:907
+msgid "Make the main toolbar icons smaller"
+msgstr "Зрабіць меншымі значкі галоўнай панэлі інструмэнтаў"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:981
-msgid "Set the size for the main tools to use (requires restart)"
+#: ../src/ui/dialog/inkscape-preferences.cpp:909
+msgid "Make the main tools use the 'secondary' toolbar size (requires restart)"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:984
-#, fuzzy
+#: ../src/ui/dialog/inkscape-preferences.cpp:912
 msgid "Maximum number of recent documents:"
-msgstr "Ð\94Ñ\80Ñ\83кÑ\83е Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82"
+msgstr "Ð\9dайболÑ\8cÑ\88аÑ\8f ÐºÐ¾Ð»Ñ\8cкаÑ\81Ñ\8cÑ\86Ñ\8c Ñ\80анейÑ\88Ñ\8bÑ\85 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82аÑ\9e:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:985
+#: ../src/ui/dialog/inkscape-preferences.cpp:913
 msgid "The maximum length of the Open Recent list in the File menu"
-msgstr ""
-
-#. Autosave options
-#: ../src/ui/dialog/inkscape-preferences.cpp:990
-#, fuzzy
-msgid "Enable auto-save of document"
-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 ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:993
-msgid "Interval (in minutes):"
-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 ""
+msgstr "Найбольшая даўжыня сьпісу «Адкрыць ранейшы» ў мэню «Файл»"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:995
-#, fuzzy
-msgid "Path:"
-msgstr "Уставіць"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:995
-msgid "Sets the directory where autosaves will be written"
-msgstr ""
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:997
-#, fuzzy
-msgid "Maximum number of autosaves"
-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 ""
-
-#. 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/inkscape-preferences.cpp:916
+msgid "Misc"
+msgstr "Рознае"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:1017
-msgid "Enbles automatic reload of linked images when changed on disk."
-msgstr ""
+#: ../src/ui/dialog/livepatheffect-editor.cpp:57
+msgid "_Apply"
+msgstr "_Ужыць"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:1030
-#, fuzzy
-msgid "Bitmap editor:"
-msgstr "Вэктар градыента"
+#: ../src/ui/dialog/livepatheffect-editor.cpp:57
+msgid "Apply chosen effect to selection"
+msgstr "Ужыць выбраны эфэкт да вылучэньня"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:1036
-msgid "Misc"
-msgstr ""
+#: ../src/ui/dialog/livepatheffect-editor.cpp:58
+msgid "Remove effect from selection"
+msgstr "Прыбраць эфэкт ад вылучэньня"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:74
+#: ../src/ui/dialog/livepatheffect-editor.cpp:61
 msgid "Apply new effect"
-msgstr ""
+msgstr "Ужыць новы эфэкт"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:75
+#: ../src/ui/dialog/livepatheffect-editor.cpp:62
 msgid "Current effect"
-msgstr ""
+msgstr "Бягучы эфэкт"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:76
-msgid "Effect list"
-msgstr ""
-
-#: ../src/ui/dialog/livepatheffect-editor.cpp:239
+#: ../src/ui/dialog/livepatheffect-editor.cpp:161
 msgid "Unknown effect is applied"
-msgstr ""
+msgstr "Ужыты невядомы эфэкт"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:242
+#: ../src/ui/dialog/livepatheffect-editor.cpp:164
+#: ../src/ui/dialog/livepatheffect-editor.cpp:268
 msgid "No effect applied"
-msgstr ""
+msgstr "Ніякі эфэкт ня ўжыты"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:248
-msgid "Item is not a path or shape"
-msgstr ""
+#: ../src/ui/dialog/livepatheffect-editor.cpp:168
+msgid "Item is not a shape or path"
+msgstr "Элемэнт ані фіґура, ані шлях"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:252
+#: ../src/ui/dialog/livepatheffect-editor.cpp:172
 msgid "Only one item can be selected"
-msgstr ""
+msgstr "Можна вылучыць толькі адзін элемэнт"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:256
-#, fuzzy
+#: ../src/ui/dialog/livepatheffect-editor.cpp:176
 msgid "Empty selection"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злÑ\8b"
+msgstr "СпÑ\83Ñ\81Ñ\82оÑ\88Ñ\8bÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:349
-#, fuzzy
-msgid "Remove path effect"
-msgstr "Выдаліць лучыва"
-
-#: ../src/ui/dialog/livepatheffect-editor.cpp:366
-#, fuzzy
-msgid "Move path effect up"
-msgstr "Выдаліць лучыва"
+#: ../src/ui/dialog/livepatheffect-editor.cpp:253
+msgid "Create and apply path effect"
+msgstr "Стварыці і ўжыць эфэкт шляху"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:384
-#, fuzzy
-msgid "Move path effect down"
-msgstr "Выдаліць лучыва"
+#: ../src/ui/dialog/livepatheffect-editor.cpp:271
+msgid "Remove path effect"
+msgstr "Прыбраць эфэкт шляху"
 
 #: ../src/ui/dialog/memory.cpp:94
 msgid "Heap"
-msgstr ""
+msgstr "Куча"
 
 #: ../src/ui/dialog/memory.cpp:95
-#, fuzzy
 msgid "In Use"
-msgstr "Ð\9aаÑ\80Ñ\8bÑ\81Ñ\82алÑ\8cнÑ\96к"
+msgstr "УжÑ\8bÑ\82аÑ\8f"
 
 #. 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
-#, fuzzy
 msgid "Slack"
-msgstr "ЧоÑ\80нÑ\8b:"
+msgstr "Ð\92олÑ\8cнаÑ\8f"
 
 #: ../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 "Невядома"
 
 #: ../src/ui/dialog/memory.cpp:165
-#, fuzzy
 msgid "Combined"
-msgstr "Ð\9aамбÑ\96наваÑ\86Ñ\8c"
+msgstr "СпалÑ\83Ñ\87анаÑ\8f"
 
 #: ../src/ui/dialog/memory.cpp:207
-#, fuzzy
 msgid "Recalculate"
-msgstr "Прамакутнік"
+msgstr "Пералічыць"
 
 #: ../src/ui/dialog/messages.cpp:75
-#, fuzzy
 msgid "Ready."
-msgstr "ЧÑ\8bÑ\80вонÑ\8b:"
+msgstr "Ð\93аÑ\82ова."
 
 #: ../src/ui/dialog/messages.cpp:76
-msgid ""
-"Enable log display by setting dialogs.debug 'redirect' attribute to 1 in "
-"preferences.xml"
+msgid "Enable log display by setting dialogs.debug 'redirect' attribute to 1 in preferences.xml"
 msgstr ""
 
-#: ../src/ui/dialog/ocaldialogs.cpp:77
-#, fuzzy
+#: ../src/ui/dialog/ocaldialogs.cpp:76
 msgid "File"
 msgstr "Файл"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:175
+#: ../src/ui/dialog/ocaldialogs.cpp:174
 msgid "Username:"
-msgstr ""
+msgstr "Імя карыстальніка:"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:176
+#: ../src/ui/dialog/ocaldialogs.cpp:175
 msgid "Password:"
-msgstr ""
+msgstr "Пароль:"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:402
+#: ../src/ui/dialog/ocaldialogs.cpp:401
 msgid "Error while reading the Open Clip Art RSS feed"
-msgstr ""
+msgstr "Памылка чытаньня RSS-стужкі бібліятэкі"
 
-#: ../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 ""
+#: ../src/ui/dialog/ocaldialogs.cpp:439
+msgid "Failed to receive the Open Clip Art Library RSS feed. Verify if the server name is correct in Configuration->Misc (e.g.: openclipart.org)"
+msgstr "Не ўдалося атрымаць RSS-стужку бібліятэкі. Спраўдзі правільнасьць назвы паслужніка ў «Настаўленьні»->«Рознае» (напр. openclipart.org)"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:454
+#: ../src/ui/dialog/ocaldialogs.cpp:453
 msgid "Server supplied malformed Clip Art feed"
 msgstr ""
 
-#: ../src/ui/dialog/ocaldialogs.cpp:545
-#, fuzzy
+#: ../src/ui/dialog/ocaldialogs.cpp:544
 msgid "Search for:"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "ШÑ\83каÑ\86Ñ\8c:"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:546
+#: ../src/ui/dialog/ocaldialogs.cpp:545
 msgid "No files matched your search"
-msgstr ""
+msgstr "Няма файлаў, адпаведных шуканаму"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:557
-#, fuzzy
+#: ../src/ui/dialog/ocaldialogs.cpp:556
 msgid "Search"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "ШÑ\83каÑ\86Ñ\8c"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:574
+#: ../src/ui/dialog/ocaldialogs.cpp:573
 msgid "Files found"
-msgstr ""
+msgstr "Адшуканыя файлы"
 
-#: ../src/ui/dialog/print.cpp:138
+#: ../src/ui/dialog/print.cpp:86
 msgid "Could not open temporary PNG for bitmap printing"
-msgstr ""
+msgstr "Немагчыма адкрыць часовы PNG для растравага друку"
 
-#: ../src/ui/dialog/print.cpp:173
+#: ../src/ui/dialog/print.cpp:101
+#, fuzzy
 msgid "Could not set up Document"
-msgstr ""
+msgstr "Памылка: немагчыма ужыць маску сыгнала."
 
-#: ../src/ui/dialog/print.cpp:177
+#: ../src/ui/dialog/print.cpp:105
 msgid "Failed to set CairoRenderContext"
-msgstr ""
+msgstr "Не ўдалося задаць CairoRenderContext"
 
 #. set up dialog title, based on document name
-#: ../src/ui/dialog/print.cpp:217
-#, fuzzy
+#: ../src/ui/dialog/print.cpp:145
 msgid "SVG Document"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а"
+msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 SVG"
 
-#: ../src/ui/dialog/print.cpp:218
-#, fuzzy
+#: ../src/ui/dialog/print.cpp:146
 msgid "Print"
-msgstr "Ð\9fÑ\83нкÑ\82"
+msgstr "Ð\94Ñ\80Ñ\83каваÑ\86Ñ\8c"
 
 #. build custom preferences tab
-#: ../src/ui/dialog/print.cpp:245
-#, fuzzy
+#: ../src/ui/dialog/print.cpp:169
 msgid "Rendering"
-msgstr "Вывад"
-
-#: ../src/ui/dialog/scriptdialog.cpp:211
-msgid "_Execute Javascript"
-msgstr ""
+msgstr "Стварэньне"
 
-#: ../src/ui/dialog/scriptdialog.cpp:213
+#: ../src/ui/dialog/scriptdialog.cpp:205
 msgid "_Execute Python"
-msgstr ""
+msgstr "_Выканаць Python"
 
-#: ../src/ui/dialog/scriptdialog.cpp:215
-msgid "_Execute Ruby"
-msgstr ""
+#: ../src/ui/dialog/scriptdialog.cpp:209
+msgid "_Execute Perl"
+msgstr "_Выканаць Perl"
 
-#: ../src/ui/dialog/scriptdialog.cpp:224
+#: ../src/ui/dialog/scriptdialog.cpp:219
 msgid "Script"
-msgstr ""
+msgstr "Сцэнар"
 
-#: ../src/ui/dialog/scriptdialog.cpp:234
-#, fuzzy
+#: ../src/ui/dialog/scriptdialog.cpp:229
 msgid "Output"
-msgstr "-"
-
-#: ../src/ui/dialog/scriptdialog.cpp:244
-msgid "Errors"
-msgstr ""
-
-#. Dialog organization
-#: ../src/ui/dialog/session-player.cpp:73
-#, fuzzy
-msgid "Session file"
-msgstr "Выдаліць лучыва"
-
-#: ../src/ui/dialog/session-player.cpp:74
-msgid "Playback controls"
-msgstr ""
-
-#: ../src/ui/dialog/session-player.cpp:75
-#, fuzzy
-msgid "Message information"
-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
-msgid "Active session file:"
-msgstr ""
-
-#: ../src/ui/dialog/session-player.cpp:86
-msgid "Delay (milliseconds):"
-msgstr ""
-
-#. Unload/load buttons
-#: ../src/ui/dialog/session-player.cpp:94
-#, fuzzy
-msgid "Close file"
-msgstr "Закрыць"
-
-#: ../src/ui/dialog/session-player.cpp:95
-#, fuzzy
-msgid "Open new file"
-msgstr "Выдаліць лучыва"
-
-#: ../src/ui/dialog/session-player.cpp:96
-#, fuzzy
-msgid "Set delay"
-msgstr "Усталяваць як дапомнае"
-
-#: ../src/ui/dialog/session-player.cpp:138
-#, fuzzy
-msgid "Rewind"
 msgstr "Вывад"
 
-#: ../src/ui/dialog/session-player.cpp:139
-msgid "Go back one change"
-msgstr ""
-
-#: ../src/ui/dialog/session-player.cpp:140
-#, fuzzy
-msgid "Pause"
-msgstr "Уставіць"
-
-#: ../src/ui/dialog/session-player.cpp:141
-msgid "Go forward one change"
-msgstr ""
-
-#: ../src/ui/dialog/session-player.cpp:142
-msgid "Play"
-msgstr ""
-
-#: ../src/ui/dialog/session-player.cpp:177
-msgid "Open session file"
-msgstr ""
+#: ../src/ui/dialog/scriptdialog.cpp:239
+msgid "Errors"
+msgstr "Памылкі"
 
 #. #### begin left panel
 #. ### begin notebook
@@ -12519,518 +10277,353 @@ msgstr ""
 #. # begin single scan
 #. brightness
 #: ../src/ui/dialog/tracedialog.cpp:396
-#, fuzzy
 msgid "Brightness cutoff"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð²Ñ\96даÑ\80Ñ\8bÑ\81а"
+msgstr "Ð\90дÑ\81Ñ\8fÑ\87Ñ\8dнÑ\8cне Ñ\8fÑ\80каÑ\81Ñ\8cÑ\86Ñ\96"
 
 #: ../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 "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\92Ñ\8bзнаÑ\87Ñ\8dнÑ\8cне ÐºÑ\80аÑ\8e"
 
 #: ../src/ui/dialog/tracedialog.cpp:424
 msgid "Trace with optimal edge detection by J. Canny's algorithm"
-msgstr ""
+msgstr "Абвесьці, выкарыстоўваючы альґарымт аптымальнага вызначэньня краю J. Canny"
 
 #: ../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
 #. 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
-#, fuzzy
 msgid "Color quantization"
-msgstr "ФаÑ\80баваÑ\86Ñ\8c"
+msgstr "Ð\90гÑ\80Ñ\83бленÑ\8cне ÐºÐ¾Ð»ÐµÑ\80аÑ\9e"
 
 #: ../src/ui/dialog/tracedialog.cpp:457
 msgid "Trace along the boundaries of reduced colors"
-msgstr ""
+msgstr "Абвесьці межы агрубленых колераў"
 
 #: ../src/ui/dialog/tracedialog.cpp:465
 msgid "The number of reduced colors"
-msgstr ""
+msgstr "Колькасьць зьменшаных колераў"
 
 #: ../src/ui/dialog/tracedialog.cpp:467
-#, fuzzy
 msgid "Colors:"
-msgstr "Куты:"
+msgstr "Колеры:"
 
 #. swap black and white
 #: ../src/ui/dialog/tracedialog.cpp:473
-#, fuzzy
 msgid "Invert image"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\86нвÑ\8dÑ\80Ñ\82аваÑ\86Ñ\8c Ð²Ñ\96даÑ\80Ñ\8bÑ\81"
 
 #: ../src/ui/dialog/tracedialog.cpp:478
 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 "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð²Ñ\96даÑ\80Ñ\8bÑ\81а"
+msgstr "Ð\9aÑ\80окÑ\96 Ñ\8fÑ\80каÑ\81Ñ\8cÑ\86Ñ\96"
 
 #: ../src/ui/dialog/tracedialog.cpp:491
 msgid "Trace the given number of brightness levels"
-msgstr ""
+msgstr "Абвесьці зададзеную колькасьць узроўняў яркасьці"
 
 #: ../src/ui/dialog/tracedialog.cpp:498
 msgid "Scans:"
-msgstr ""
+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
-#, fuzzy
 msgid "Stack scans"
-msgstr "Ð\97оÑ\80ка"
+msgstr "СÑ\82оÑ\81"
 
 #: ../src/ui/dialog/tracedialog.cpp:532
-msgid ""
-"Stack scans on top of one another (no gaps) instead of tiling (usually with "
-"gaps)"
-msgstr ""
+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 ""
+msgstr "Бліскаўкі памерам, меншыя за гэтыя піксэлі, будуць праігнараваныя"
 
 #: ../src/ui/dialog/tracedialog.cpp:571
-#, fuzzy
 msgid "Size:"
-msgstr "Ð\91акÑ\96:"
+msgstr "Ð\9fамеÑ\80:"
 
 #: ../src/ui/dialog/tracedialog.cpp:574
 msgid "Smooth corners"
-msgstr ""
+msgstr "Згладзіць куты"
 
 #: ../src/ui/dialog/tracedialog.cpp:576
 msgid "Smooth out sharp corners of the trace"
-msgstr ""
+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 ""
+msgstr "Паспрабаваць аптымізаваць шляхі, злучаючы сумежныя адрэзкі крывых Бэзье"
 
 #: ../src/ui/dialog/tracedialog.cpp:600
-msgid ""
-"Increase this to reduce the number of nodes in the trace by more aggressive "
-"optimization"
-msgstr ""
+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
-#, fuzzy
+#: ../src/ui/dialog/tracedialog.cpp:607
+#: ../src/ui/dialog/tracedialog.cpp:613
 msgid "Options"
-msgstr "Ð\92Ñ\8bбаÑ\80Ñ\8b Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82аÑ\9e"
+msgstr "Ð\92Ñ\8bбоÑ\80Ñ\8b"
 
 #. ### credits
 #: ../src/ui/dialog/tracedialog.cpp:621
 msgid "Thanks to Peter Selinger, http://potrace.sourceforge.net"
-msgstr ""
+msgstr "Дзякуй, Peter Selinger, http://potrace.sourceforge.net"
 
 #: ../src/ui/dialog/tracedialog.cpp:623
-#, fuzzy
 msgid "Credits"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\9fадзÑ\8fкÑ\96"
 
 #. #### begin right panel
 #. ## SIOX
 #: ../src/ui/dialog/tracedialog.cpp:637
 msgid "SIOX foreground selection"
-msgstr ""
+msgstr "SIOX-вылучэньне пярэдняга пляну "
 
 #: ../src/ui/dialog/tracedialog.cpp:640
 msgid "Cover the area you want to select as the foreground"
-msgstr ""
+msgstr "Вызначы вобласьць, якая мусіць быць вылучаная як пярэдні плян"
 
 #. ## preview
 #: ../src/ui/dialog/tracedialog.cpp:645
-#, fuzzy
 msgid "Update"
-msgstr "УÑ\81Ñ\82авіць"
+msgstr "Ð\90бнавіць"
 
 #: ../src/ui/dialog/tracedialog.cpp:651
-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
-#, fuzzy
 msgid "Preview"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\96 Ð¿Ñ\80агляд"
+msgstr "Ð\90гляд"
 
 #: ../src/ui/dialog/tracedialog.cpp:672
-#, fuzzy
 msgid "Abort a trace in progress"
-msgstr "Ð\9fÑ\80аÑ\81Ñ\82оÑ\80а Ñ\8dкÑ\81паÑ\80Ñ\82аванÑ\8cнÑ\8f"
+msgstr "СпÑ\8bнÑ\96Ñ\86Ñ\8c Ð°Ð±Ð²Ð¾Ð´Ð¶Ð°Ð½Ñ\8cне"
 
 #: ../src/ui/dialog/tracedialog.cpp:676
 msgid "Execute the trace"
-msgstr ""
+msgstr "Выканаць абводжаньне"
 
-#: ../src/ui/dialog/transformation.cpp:83
-#: ../src/ui/dialog/transformation.cpp:93
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:81
+#: ../src/ui/dialog/transformation.cpp:91
 msgid "_Horizontal"
-msgstr "Адлюстраваць гарызантальна"
+msgstr "арызантальна"
 
-#: ../src/ui/dialog/transformation.cpp:83
+#: ../src/ui/dialog/transformation.cpp:81
 msgid "Horizontal displacement (relative) or position (absolute)"
-msgstr ""
+msgstr "Гарызантальны зрух (адносны) ці становішча (абсалютнае)"
 
-#: ../src/ui/dialog/transformation.cpp:85
-#: ../src/ui/dialog/transformation.cpp:95
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:83
+#: ../src/ui/dialog/transformation.cpp:93
 msgid "_Vertical"
-msgstr "Адлюстраваць вэртыкальна"
+msgstr "эртыкальна"
 
-#: ../src/ui/dialog/transformation.cpp:85
+#: ../src/ui/dialog/transformation.cpp:83
 msgid "Vertical displacement (relative) or position (absolute)"
-msgstr ""
+msgstr "Вэртыкальны зрух (адносны) ці становішча (абсалютнае)"
 
-#: ../src/ui/dialog/transformation.cpp:87
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:85
 msgid "_Width"
-msgstr "Шырыня:"
+msgstr "_Шырыня"
 
-#: ../src/ui/dialog/transformation.cpp:87
+#: ../src/ui/dialog/transformation.cpp:85
 msgid "Horizontal size (absolute or percentage of current)"
-msgstr ""
+msgstr "Гарызантальны памер (абсалютны ці адсотак цяперашняга)"
 
-#: ../src/ui/dialog/transformation.cpp:89
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:87
 msgid "_Height"
-msgstr "Вышыня:"
+msgstr "_Вышыня"
 
-#: ../src/ui/dialog/transformation.cpp:89
+#: ../src/ui/dialog/transformation.cpp:87
 msgid "Vertical size (absolute or percentage of current)"
-msgstr ""
+msgstr "Вэртыкальны памер (абсалютны ці адсотак цяперашняга)"
 
-#: ../src/ui/dialog/transformation.cpp:91
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:89
 msgid "A_ngle"
-msgstr "Кут"
+msgstr "_Вугал"
 
-#: ../src/ui/dialog/transformation.cpp:91
+#: ../src/ui/dialog/transformation.cpp:89
 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 ""
+#: ../src/ui/dialog/transformation.cpp:91
+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 ""
+#: ../src/ui/dialog/transformation.cpp:93
+msgid "Vertical skew angle (positive = counterclockwise), or absolute displacement, or percentage displacement"
+msgstr "Вугал вэртыкальнага нахілу (дадатны = супраць стрэлкі), ці абсалютны зрух, ці зрух на адсотак"
 
-#: ../src/ui/dialog/transformation.cpp:98
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:96
 msgid "Transformation matrix element A"
-msgstr "Ð\9cаÑ\82Ñ\80Ñ\8bÑ\86а Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маваньня"
+msgstr "ЭлемÑ\8dнÑ\82 A Ð¼Ð°Ñ\82Ñ\80Ñ\8bÑ\86Ñ\8b Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dньня"
 
-#: ../src/ui/dialog/transformation.cpp:99
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:97
 msgid "Transformation matrix element B"
-msgstr "Ð\9cаÑ\82Ñ\80Ñ\8bÑ\86а Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маваньня"
+msgstr "ЭлемÑ\8dнÑ\82 B Ð¼Ð°Ñ\82Ñ\80Ñ\8bÑ\86Ñ\8b Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dньня"
 
-#: ../src/ui/dialog/transformation.cpp:100
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:98
 msgid "Transformation matrix element C"
-msgstr "Ð\9cаÑ\82Ñ\80Ñ\8bÑ\86а Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маваньня"
+msgstr "ЭлемÑ\8dнÑ\82 C Ð¼Ð°Ñ\82Ñ\80Ñ\8bÑ\86Ñ\8b Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dньня"
 
-#: ../src/ui/dialog/transformation.cpp:101
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:99
 msgid "Transformation matrix element D"
-msgstr "Ð\9cаÑ\82Ñ\80Ñ\8bÑ\86а Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маваньня"
+msgstr "ЭлемÑ\8dнÑ\82 D Ð¼Ð°Ñ\82Ñ\80Ñ\8bÑ\86Ñ\8b Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dньня"
 
-#: ../src/ui/dialog/transformation.cpp:102
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:100
 msgid "Transformation matrix element E"
-msgstr "Ð\9cаÑ\82Ñ\80Ñ\8bÑ\86а Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маваньня"
+msgstr "ЭлемÑ\8dнÑ\82 E Ð¼Ð°Ñ\82Ñ\80Ñ\8bÑ\86Ñ\8b Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dньня"
 
-#: ../src/ui/dialog/transformation.cpp:103
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:101
 msgid "Transformation matrix element F"
-msgstr "Ð\9cаÑ\82Ñ\80Ñ\8bÑ\86а Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маваньня"
+msgstr "ЭлемÑ\8dнÑ\82 F Ð¼Ð°Ñ\82Ñ\80Ñ\8bÑ\86Ñ\8b Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dньня"
 
-#: ../src/ui/dialog/transformation.cpp:105
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:103
 msgid "Rela_tive move"
-msgstr "Адноснае перамяшчэньне"
+msgstr "_Адноснае пасоўваньне"
 
-#: ../src/ui/dialog/transformation.cpp:105
-msgid ""
-"Add the specified relative displacement to the current position; otherwise, "
-"edit the current absolute position directly"
-msgstr ""
+#: ../src/ui/dialog/transformation.cpp:103
+msgid "Add the specified relative displacement to the current position; otherwise, edit the current absolute position directly"
+msgstr "Дадаць вызначаны адносны зрух да бягучага становішча, інакш наўпрост правіць бягучае абсалютнае становішча"
 
-#: ../src/ui/dialog/transformation.cpp:106
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:104
 msgid "Scale proportionally"
-msgstr "Ð\9fÑ\80апоÑ\80Ñ\86Ñ\8bÑ\96"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\8fÑ\86Ñ\8c Ð²Ñ\8bмеÑ\80Ñ\8b Ð¿Ñ\80апаÑ\80Ñ\86Ñ\8bйна"
 
-#: ../src/ui/dialog/transformation.cpp:106
+#: ../src/ui/dialog/transformation.cpp:104
 msgid "Preserve the width/height ratio of the scaled objects"
-msgstr ""
+msgstr "Захоўваць суадносіны вышыні да шырыні абʼектаў, чый памер зьмяняецца"
 
-#: ../src/ui/dialog/transformation.cpp:107
+#: ../src/ui/dialog/transformation.cpp:105
 msgid "Apply to each _object separately"
-msgstr ""
+msgstr "Ужыць да кожнага _абʼекта паасобку"
 
-#: ../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 ""
+#: ../src/ui/dialog/transformation.cpp:105
+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:106
 msgid "Edit c_urrent matrix"
-msgstr ""
+msgstr "Зьмяніць _бягучую матрыцу"
 
-#: ../src/ui/dialog/transformation.cpp:108
-msgid ""
-"Edit the current transform= matrix; otherwise, post-multiply transform= by "
-"this matrix"
-msgstr ""
+#: ../src/ui/dialog/transformation.cpp:106
+msgid "Edit the current transform= matrix; otherwise, post-multiply transform= by this matrix"
+msgstr "Правіць бягучую матрыцу «transform=», інакш памножыць «transform=» на гэтую матрыцу"
 
-#: ../src/ui/dialog/transformation.cpp:118
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:116
 msgid "_Move"
-msgstr "Перанесьці"
+msgstr "_Пасунуць"
 
-#: ../src/ui/dialog/transformation.cpp:121
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:119
 msgid "_Scale"
-msgstr "Маштаб"
+msgstr "_Зьмяніць памер"
 
-#: ../src/ui/dialog/transformation.cpp:124
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:122
 msgid "_Rotate"
-msgstr "Павярнуць"
+msgstr "_Павернуць"
 
-#: ../src/ui/dialog/transformation.cpp:127
+#: ../src/ui/dialog/transformation.cpp:125
 msgid "Ske_w"
-msgstr ""
+msgstr "_Нахіліць"
 
-#: ../src/ui/dialog/transformation.cpp:130
+#: ../src/ui/dialog/transformation.cpp:128
 msgid "Matri_x"
-msgstr ""
+msgstr "_Матрыца"
 
-#: ../src/ui/dialog/transformation.cpp:153
+#: ../src/ui/dialog/transformation.cpp:151
 msgid "Reset the values on the current tab to defaults"
-msgstr ""
+msgstr "Вернуць значэньні на бягучай укладцы да прадвызначаных"
 
-#: ../src/ui/dialog/transformation.cpp:160
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:158
 msgid "Apply transformation to selection"
-msgstr "СкÑ\96нÑ\83Ñ\86Ñ\8c Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маÑ\86Ñ\8bÑ\8e"
+msgstr "УжÑ\8bÑ\86Ñ\8c Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð´Ð° Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f"
 
-#: ../src/ui/dialog/transformation.cpp:842
-#, fuzzy
+#: ../src/ui/dialog/transformation.cpp:772
 msgid "Edit transformation matrix"
-msgstr "Матрыца трансфармаваньня"
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:44
-msgid "_Use SSL"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:44
-#, fuzzy
-msgid "_Register"
-msgstr "Падняць"
-
-#. Construct dialog interface
-#: ../src/ui/dialog/whiteboard-connect.cpp:75
-#, fuzzy
-msgid "_Server:"
-msgstr "Захаваць"
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:76
-#, fuzzy
-msgid "_Username:"
-msgstr "Падняць вузел"
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:77
-msgid "_Password:"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:78
-#, fuzzy
-msgid "P_ort:"
-msgstr "Экспартаваць"
-
-#. Buttons
-#: ../src/ui/dialog/whiteboard-connect.cpp:113
-#, fuzzy
-msgid "Connect"
-msgstr "Насычанасьць:"
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:144
-msgid "Establishing connection to Jabber server <b>%1</b>"
-msgstr ""
-
-#: ../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 <b>%1</b>"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:209
-msgid "Establishing connection to Jabber server <b>%1</b> as user <b>%2</b>"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:221
-msgid "Authentication failed on Jabber server <b>%1</b> as <b>%2</b>"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:226
-#: ../src/ui/dialog/whiteboard-connect.cpp:264
-msgid "SSL initialization failed when connecting to Jabber server <b>%1</b>"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:232
-#: ../src/ui/dialog/whiteboard-connect.cpp:270
-msgid "Connected to Jabber server <b>%1</b> as <b>%2</b>"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-connect.cpp:259
-msgid "Registration failed on Jabber server <b>%1</b> as <b>%2</b>"
-msgstr ""
-
-#. Construct labels
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:75
-msgid "Chatroom _name:"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:76
-msgid "Chatroom _server:"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:77
-msgid "Chatroom _password:"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:78
-#, fuzzy
-msgid "Chatroom _handle:"
-msgstr "Стварыць лучыва"
-
-#. Button setup and callback registration
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:102
-msgid "Connect to chatroom"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:137
-msgid "Synchronizing with chatroom <b>%1@%2</b> using the handle <b>%3</b>"
-msgstr ""
-
-#. Construct dialog interface
-#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:76
-msgid "_User's Jabber ID:"
-msgstr ""
-
-#. Buttons
-#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:80
-msgid "_Invite user"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:81
-#, fuzzy
-msgid "_Cancel"
-msgstr "Адмяніць"
-
-#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:92
-msgid "Buddy List"
-msgstr ""
-
-#: ../src/ui/dialog/whiteboard-sharewithuser.cpp:181
-msgid "Sending whiteboard invitation to <b>%1</b>"
-msgstr ""
+msgstr "Зьмяніць матрыцу ператварэньня"
 
 #. 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
@@ -13048,2945 +10641,2660 @@ 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, do not translate"
 
-#: ../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:376
 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:505
 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 ""
-"<b>Welcome to Inkscape!</b> 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:553
+msgid "<b>Welcome to Inkscape!</b> Use shape or freehand tools to create objects; use selector (arrow) to move or transform them."
+msgstr "<b>Inkscape вітае!</b> Інструмэнтамі фіґур ці ўручную стварай абʼекты, вылучальнікам (стрэлкай) перасоўвай і ператварай іх."
 
-#: ../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:839
 #, c-format
 msgid ""
-"<span weight=\"bold\" size=\"larger\">Save changes to document \"%s\" before "
-"closing?</span>\n"
+"<span weight=\"bold\" size=\"larger\">Save changes to document \"%s\" before closing?</span>\n"
 "\n"
 "If you close without saving, your changes will be discarded."
 msgstr ""
+"<span weight=\"bold\" size=\"larger\">Ці захаваць перад закрыцьцём зьмены дакумэнта «%s»?</span>\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:846
+#: ../src/widgets/desktop-widget.cpp:902
 msgid "Close _without saving"
-msgstr ""
+msgstr "Закрыць _не захоўваючы"
 
-#: ../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:894
 #, c-format
 msgid ""
-"<span weight=\"bold\" size=\"larger\">The file \"%s\" was saved with a "
-"format (%s) that may cause data loss!</span>\n"
+"<span weight=\"bold\" size=\"larger\">The file \"%s\" was saved with a format (%s) that may cause data loss!</span>\n"
 "\n"
 "Do you want to save this file as an Inkscape SVG?"
 msgstr ""
+"<span weight=\"bold\" size=\"larger\">Файл «%s» быў захаваны ў фармаце (%s), які можа прывесьці да страты даньняў!</span>\n"
+"\n"
+"Ці жадаеш захаваць гэты файл як Inkscape SVG?"
 
-#: ../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:905
 msgid "_Save as SVG"
-msgstr ""
-
-#: ../src/ui/widget/filter-effect-chooser.cpp:25
-#, fuzzy
-msgid "_Blend mode:"
-msgstr "Дадаць водступ вузла"
-
-#: ../src/ui/widget/filter-effect-chooser.cpp:26
-#, fuzzy
-msgid "B_lur:"
-msgstr "Сіні:"
-
-#: ../src/ui/widget/licensor.cpp:35
-msgid "Proprietary"
-msgstr ""
-
-#: ../src/ui/widget/licensor.cpp:38
-#, fuzzy
-msgid "Other"
-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 "Зацямненьне:"
-
-#: ../src/ui/widget/object-composite-settings.cpp:152
-#, fuzzy
-msgid "Change blur"
-msgstr "Усталяваць атрыбут"
-
-#: ../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 ""
-
-#: ../src/ui/widget/page-sizer.cpp:190
-#, fuzzy
-msgid "U_nits:"
-msgstr "Адзінкі:"
-
-#: ../src/ui/widget/page-sizer.cpp:191
-#, fuzzy
-msgid "Width of paper"
-msgstr "Папера карыстальніка"
-
-#: ../src/ui/widget/page-sizer.cpp:192
-#, fuzzy
-msgid "_Height:"
-msgstr "Вышыня:"
-
-#: ../src/ui/widget/page-sizer.cpp:192
-msgid "Height of paper"
-msgstr ""
-
-#: ../src/ui/widget/page-sizer.cpp:236
-#, fuzzy
-msgid "P_age size:"
-msgstr "Памер паперы:"
-
-#: ../src/ui/widget/page-sizer.cpp:244
-#, fuzzy
-msgid "Page orientation:"
-msgstr "Арыентацыя:"
-
-#: ../src/ui/widget/page-sizer.cpp:247
-msgid "_Landscape"
-msgstr ""
-
-#: ../src/ui/widget/page-sizer.cpp:252
-msgid "_Portrait"
-msgstr ""
-
-#. ## Set up custom size frame
-#: ../src/ui/widget/page-sizer.cpp:259
-#, fuzzy
-msgid "Custom size"
-msgstr "Пазначае карыстальнік"
-
-#: ../src/ui/widget/page-sizer.cpp:272
-msgid "_Fit page to selection"
-msgstr ""
-
-#: ../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"
-msgstr ""
-
-#: ../src/ui/widget/page-sizer.cpp:331
-#, fuzzy
-msgid "Set page size"
-msgstr "Памер паперы:"
-
-#: ../src/ui/widget/panel.cpp:121
-msgid "List"
-msgstr ""
-
-#: ../src/ui/widget/panel.cpp:144
-#, fuzzy
-msgid "swatches|Size"
-msgstr "Памер паперы:"
+msgstr "_Захаваць як SVG"
 
-#: ../src/ui/widget/panel.cpp:148
-#, fuzzy
+#: ../src/ui/widget/panel.cpp:120
 msgid "tiny"
-msgstr "in"
+msgstr "маленечкі"
 
-#: ../src/ui/widget/panel.cpp:149
+#: ../src/ui/widget/panel.cpp:121
 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 ""
+#: ../src/ui/widget/panel.cpp:122
+msgid "swatches|medium"
+msgstr "сярэдні"
 
-#: ../src/ui/widget/panel.cpp:152
-#, fuzzy
+#: ../src/ui/widget/panel.cpp:123
 msgid "large"
-msgstr "Ð\9cÑ\8dÑ\82а:"
+msgstr "вÑ\8fлÑ\96кÑ\96"
 
-#: ../src/ui/widget/panel.cpp:153
+#: ../src/ui/widget/panel.cpp:124
 msgid "huge"
-msgstr ""
-
-#: ../src/ui/widget/panel.cpp:175
-msgid "swatches|Width"
-msgstr ""
+msgstr "вялізны"
 
-#: ../src/ui/widget/panel.cpp:179
-#, fuzzy
-msgid "narrower"
-msgstr "Апусьціць"
-
-#: ../src/ui/widget/panel.cpp:180
-msgid "narrow"
-msgstr ""
-
-#. TRANSLATORS: Translate only the word "medium". Indicates width of colour swatches
-#: ../src/ui/widget/panel.cpp:182
-msgid "swatchesWidth|medium"
-msgstr ""
-
-#: ../src/ui/widget/panel.cpp:183
-#, fuzzy
-msgid "wide"
-msgstr "Паказаць кіруючыя"
+#: ../src/ui/widget/panel.cpp:139
+msgid "List"
+msgstr "Сьпіс"
 
-#: ../src/ui/widget/panel.cpp:184
-#, fuzzy
-msgid "wider"
-msgstr "Паказаць кіруючыя"
+#: ../src/ui/widget/panel.cpp:171
+msgid "Shape"
+msgstr "Фіґура"
 
-#. TRANSLATORS: Translate only the word "Wrap". Indicates how colour swatches are displayed
-#: ../src/ui/widget/panel.cpp:215
-msgid "swatches|Wrap"
-msgstr ""
+#: ../src/ui/widget/panel.cpp:174
+msgid "Tall"
+msgstr "Высокі"
 
-#: ../src/ui/widget/preferences-widget.cpp:278
-#, fuzzy
-msgid "Reset"
-msgstr "Тэкст"
+#: ../src/ui/widget/panel.cpp:175
+msgid "Square"
+msgstr "Квадрат"
 
-#: ../src/ui/widget/random.cpp:123
-msgid ""
-"Reseed the random number generator; this creates a different sequence of "
-"random numbers."
-msgstr ""
+#: ../src/ui/widget/panel.cpp:176
+msgid "Wide"
+msgstr "Шырокі"
 
-#: ../src/ui/widget/rendering-options.cpp:39
-#, fuzzy
-msgid "Backend"
-msgstr "Канчатковы колер"
+#: ../src/ui/widget/filter-effect-chooser.cpp:25
+msgid "_Blend mode:"
+msgstr "Рэжым _перамешваньня:"
 
-#: ../src/ui/widget/rendering-options.cpp:40
-#, fuzzy
-msgid "Vector"
-msgstr "Вылучэньне"
+#: ../src/ui/widget/filter-effect-chooser.cpp:26
+msgid "B_lur:"
+msgstr "_Размыцьцё:"
 
-#: ../src/ui/widget/rendering-options.cpp:41
-msgid "Bitmap"
-msgstr ""
+#: ../src/ui/widget/licensor.cpp:35
+msgid "Proprietary"
+msgstr "Прыватнаўласная"
 
-#: ../src/ui/widget/rendering-options.cpp:42
-msgid "Bitmap options"
-msgstr ""
+#: ../src/ui/widget/licensor.cpp:38
+msgid "Other"
+msgstr "Іншая"
 
-#: ../src/ui/widget/rendering-options.cpp:44
-msgid "Preferred resolution of rendering, in dots per inch."
-msgstr ""
+#: ../src/ui/widget/object-composite-settings.cpp:50
+#: ../src/ui/widget/selected-style.cpp:1026
+#: ../src/ui/widget/selected-style.cpp:1027
+msgid "Opacity, %"
+msgstr "Непразрыстасьць, %"
 
-#: ../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 ""
+#: ../src/ui/widget/object-composite-settings.cpp:156
+msgid "Change blur"
+msgstr "Зьмяніць размыцьцё"
 
-#: ../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 ""
+#: ../src/ui/widget/object-composite-settings.cpp:196
+#: ../src/ui/widget/selected-style.cpp:850
+#: ../src/ui/widget/selected-style.cpp:1141
+msgid "Change opacity"
+msgstr "Зьмяніць непразрыстасьць"
 
-#: ../src/ui/widget/selected-style.cpp:106
-#: ../src/ui/widget/style-swatch.cpp:110
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:103
+#: ../src/ui/widget/style-swatch.cpp:108
 msgid "Fill:"
-msgstr "Запаўненьне"
+msgstr "Запаўн.:"
 
-#: ../src/ui/widget/selected-style.cpp:107
-#: ../src/ui/widget/style-swatch.cpp:111
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:104
+#: ../src/ui/widget/style-swatch.cpp:109
 msgid "Stroke:"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\9aонÑ\82Ñ\83Ñ\80:"
 
-#: ../src/ui/widget/selected-style.cpp:108
+#: ../src/ui/widget/selected-style.cpp:105
 msgid "O:"
-msgstr ""
+msgstr "Н:"
 
-#: ../src/ui/widget/selected-style.cpp:150
+#: ../src/ui/widget/selected-style.cpp:146
 msgid "N/A"
-msgstr ""
+msgstr "Н/Н"
 
-#: ../src/ui/widget/selected-style.cpp:153
-#: ../src/ui/widget/selected-style.cpp:1024
-#: ../src/ui/widget/selected-style.cpp:1025
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:149
+#: ../src/ui/widget/selected-style.cpp:1019
+#: ../src/ui/widget/selected-style.cpp:1020
 msgid "Nothing selected"
-msgstr "Ð\93Ñ\80адÑ\8bенÑ\82 Ð½Ðµ Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\9dÑ\96Ñ\87ога Ð½Ñ\8f Ð²Ñ\8bлÑ\83Ñ\87ана"
 
-#: ../src/ui/widget/selected-style.cpp:155
-#: ../src/ui/widget/style-swatch.cpp:328
+#: ../src/ui/widget/selected-style.cpp:151
+#: ../src/ui/widget/style-swatch.cpp:326
 msgid "<i>None</i>"
-msgstr ""
+msgstr "<i>Няма</i>"
 
-#: ../src/ui/widget/selected-style.cpp:158
-#: ../src/ui/widget/style-swatch.cpp:330
+#: ../src/ui/widget/selected-style.cpp:154
+#: ../src/ui/widget/style-swatch.cpp:328
 msgid "No fill"
-msgstr ""
+msgstr "Не запоўнены"
 
-#: ../src/ui/widget/selected-style.cpp:158
-#: ../src/ui/widget/style-swatch.cpp:330
+#: ../src/ui/widget/selected-style.cpp:154
+#: ../src/ui/widget/style-swatch.cpp:328
 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
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:156
+#: ../src/ui/widget/style-swatch.cpp:307
+#: ../src/widgets/paint-selector.cpp:186
 msgid "Pattern"
-msgstr "Узор:"
+msgstr "Узор"
 
-#: ../src/ui/widget/selected-style.cpp:163
-#: ../src/ui/widget/style-swatch.cpp:311 ../src/widgets/paint-selector.cpp:997
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:159
+#: ../src/ui/widget/style-swatch.cpp:309
+#: ../src/widgets/paint-selector.cpp:994
 msgid "Pattern fill"
-msgstr "УзоÑ\80:"
+msgstr "Ð\97апаÑ\9eненÑ\8cне Ñ\9eзоÑ\80ам"
 
-#: ../src/ui/widget/selected-style.cpp:163
-#: ../src/ui/widget/style-swatch.cpp:311
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:159
+#: ../src/ui/widget/style-swatch.cpp:309
 msgid "Pattern stroke"
-msgstr "УзоÑ\80:"
+msgstr "Ð\90бводжанÑ\8cне Ñ\9eзоÑ\80ам"
 
-#: ../src/ui/widget/selected-style.cpp:165
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:161
 msgid "<b>L</b>"
-msgstr "Кут:"
+msgstr "<b>Л</b>"
 
-#: ../src/ui/widget/selected-style.cpp:168
-#: ../src/ui/widget/style-swatch.cpp:303
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:164
+#: ../src/ui/widget/style-swatch.cpp:301
 msgid "Linear gradient fill"
-msgstr "Лінэйны градыент"
+msgstr "Лінейнае ґрадыентнае запоўненьне"
 
-#: ../src/ui/widget/selected-style.cpp:168
-#: ../src/ui/widget/style-swatch.cpp:303
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:164
+#: ../src/ui/widget/style-swatch.cpp:301
 msgid "Linear gradient stroke"
-msgstr "Лінэйны градыент"
+msgstr "Лінейны ґрадыентны контур"
 
-#: ../src/ui/widget/selected-style.cpp:175
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:171
 msgid "<b>R</b>"
-msgstr "Кут:"
+msgstr "<b>П</b>"
 
-#: ../src/ui/widget/selected-style.cpp:178
-#: ../src/ui/widget/style-swatch.cpp:307
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:174
+#: ../src/ui/widget/style-swatch.cpp:305
 msgid "Radial gradient fill"
-msgstr "Ð\9aÑ\80Ñ\83гавÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "РадÑ\8bÑ\8fлÑ\8cнае Ò\91Ñ\80адÑ\8bенÑ\82нае Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cне"
 
-#: ../src/ui/widget/selected-style.cpp:178
-#: ../src/ui/widget/style-swatch.cpp:307
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:174
+#: ../src/ui/widget/style-swatch.cpp:305
 msgid "Radial gradient stroke"
-msgstr "Ð\9aÑ\80Ñ\83гавÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "РадÑ\8bÑ\8fлÑ\8cнÑ\8b Ò\91Ñ\80адÑ\8bенÑ\82нÑ\8b ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80"
 
-#: ../src/ui/widget/selected-style.cpp:185
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:181
 msgid "Different"
-msgstr "Ð\90дÑ\81оÑ\82ка"
+msgstr "РознÑ\8bÑ\8f"
 
-#: ../src/ui/widget/selected-style.cpp:188
+#: ../src/ui/widget/selected-style.cpp:184
 msgid "Different fills"
-msgstr ""
+msgstr "Розныя запаўненьні"
 
-#: ../src/ui/widget/selected-style.cpp:188
+#: ../src/ui/widget/selected-style.cpp:184
 msgid "Different strokes"
-msgstr ""
+msgstr "Розныя контуры"
 
-#: ../src/ui/widget/selected-style.cpp:190
-#: ../src/ui/widget/style-swatch.cpp:333
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:186
+#: ../src/ui/widget/style-swatch.cpp:331
 msgid "<b>Unset</b>"
-msgstr "Кут:"
+msgstr "<b>Няма</b>"
 
-#: ../src/ui/widget/selected-style.cpp:196
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:192
 msgid "Flat color fill"
-msgstr "Ð\9fаÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\97апаÑ\9eненÑ\8cне Ñ\81Ñ\83Ñ\86Ñ\8dлÑ\8cнÑ\8bм ÐºÐ¾Ð»ÐµÑ\80ам"
 
-#: ../src/ui/widget/selected-style.cpp:196
+#: ../src/ui/widget/selected-style.cpp:192
 msgid "Flat color stroke"
-msgstr ""
+msgstr "Абрысоўваньне суцэльным колерам"
 
 #. TRANSLATOR COMMENT: A means "Averaged"
-#: ../src/ui/widget/selected-style.cpp:199
+#: ../src/ui/widget/selected-style.cpp:195
 msgid "<b>a</b>"
-msgstr ""
+msgstr "<b>с</b>"
 
-#: ../src/ui/widget/selected-style.cpp:202
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:198
 msgid "Fill is averaged over selected objects"
-msgstr "Падвойвае вылучаныя аб'екты"
+msgstr "Падвоіць вылучаныя абʼекты"
 
-#: ../src/ui/widget/selected-style.cpp:202
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:198
 msgid "Stroke is averaged over selected objects"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\9aонÑ\82Ñ\83Ñ\80 Ñ\81паÑ\81Ñ\8fÑ\80Ñ\8dдненÑ\8b Ð²Ð° Ñ\9eÑ\81Ñ\96Ñ\85 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\85"
 
 #. TRANSLATOR COMMENT: M means "Multiple"
-#: ../src/ui/widget/selected-style.cpp:205
+#: ../src/ui/widget/selected-style.cpp:201
 msgid "<b>m</b>"
-msgstr ""
+msgstr "<b>к</b>"
 
-#: ../src/ui/widget/selected-style.cpp:208
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:204
 msgid "Multiple selected objects have the same fill"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "РазнаÑ\81Ñ\82айнÑ\8bÑ\8f Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð¼Ð°Ñ\8eÑ\86Ñ\8c Ð°Ð´Ð½Ð¾Ð»Ñ\8cкавае Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cне"
 
-#: ../src/ui/widget/selected-style.cpp:208
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:204
 msgid "Multiple selected objects have the same stroke"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "РазнаÑ\81Ñ\82айнÑ\8bÑ\8f Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð¼Ð°Ñ\8eÑ\86Ñ\8c Ð°Ð´Ð½Ð¾Ð»Ñ\8cкавÑ\8b ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80"
 
-#: ../src/ui/widget/selected-style.cpp:210
+#: ../src/ui/widget/selected-style.cpp:206
 msgid "Edit fill..."
-msgstr ""
+msgstr "Зьмяніць запаўненьне…"
 
-#: ../src/ui/widget/selected-style.cpp:210
+#: ../src/ui/widget/selected-style.cpp:206
 msgid "Edit stroke..."
-msgstr ""
+msgstr "Зьмяніць контур…"
 
-#: ../src/ui/widget/selected-style.cpp:214
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:210
 msgid "Last set color"
-msgstr "Арыентацыя аркуша"
+msgstr "Апошні зададзены колер"
 
-#: ../src/ui/widget/selected-style.cpp:218
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:214
 msgid "Last selected color"
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\90боÑ\88нÑ\96 Ð²Ñ\8bбÑ\80анÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
 
-#: ../src/ui/widget/selected-style.cpp:222
+#: ../src/ui/widget/selected-style.cpp:218
 msgid "Invert"
-msgstr ""
+msgstr "Інвэртаваць"
 
-#: ../src/ui/widget/selected-style.cpp:226
+#: ../src/ui/widget/selected-style.cpp:222
 msgid "White"
-msgstr ""
+msgstr "Белы"
 
-#: ../src/ui/widget/selected-style.cpp:230
+#: ../src/ui/widget/selected-style.cpp:226
 #: ../src/widgets/sp-color-icc-selector.cpp:237
 #: ../src/widgets/sp-color-scales.cpp:461
 #: ../src/widgets/sp-color-scales.cpp:462
-#, fuzzy
 msgid "Black"
-msgstr "Чорны:"
+msgstr "Чорны"
 
-#: ../src/ui/widget/selected-style.cpp:234
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:230
 msgid "Copy color"
-msgstr "Ð\9aанÑ\87аÑ\82ковÑ\8b колер"
+msgstr "Ð\9aапÑ\96Ñ\8fваÑ\86Ñ\8c колер"
 
-#: ../src/ui/widget/selected-style.cpp:238
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:234
 msgid "Paste color"
-msgstr "Ð\90Ñ\80Ñ\8bенÑ\82аÑ\86Ñ\8bÑ\8f Ð°Ñ\80кÑ\83Ñ\88а"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c ÐºÐ¾Ð»ÐµÑ\80"
 
-#: ../src/ui/widget/selected-style.cpp:242
-#: ../src/ui/widget/selected-style.cpp:780
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:238
+#: ../src/ui/widget/selected-style.cpp:775
 msgid "Swap fill and stroke"
-msgstr "Ð\97апаÑ\9eненÑ\8cне Ð¹ Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eка"
+msgstr "Ð\90бмÑ\8fнÑ\8fÑ\86Ñ\8c Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cне Ð¹ ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80"
 
-#: ../src/ui/widget/selected-style.cpp:246
-#: ../src/ui/widget/selected-style.cpp:522
-#: ../src/ui/widget/selected-style.cpp:531
+#: ../src/ui/widget/selected-style.cpp:242
+#: ../src/ui/widget/selected-style.cpp:517
+#: ../src/ui/widget/selected-style.cpp:526
 msgid "Make fill opaque"
-msgstr ""
+msgstr "Зрабіць запаўненьне непразрыстым"
 
-#: ../src/ui/widget/selected-style.cpp:246
+#: ../src/ui/widget/selected-style.cpp:242
 msgid "Make stroke opaque"
-msgstr ""
+msgstr "Зрабіць контур непразрыстым"
 
-#: ../src/ui/widget/selected-style.cpp:308
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:304
 msgid "Remove"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c"
 
-#: ../src/ui/widget/selected-style.cpp:543
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:538
 msgid "Apply last set color to fill"
-msgstr "Ð\9fаÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "УжÑ\8bÑ\86Ñ\8c Ð°Ð¿Ð¾Ñ\88нÑ\96 Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ\8b ÐºÐ¾Ð»ÐµÑ\80 Ð´Ð° Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cнÑ\8f"
 
-#: ../src/ui/widget/selected-style.cpp:555
+#: ../src/ui/widget/selected-style.cpp:550
 msgid "Apply last set color to stroke"
-msgstr ""
+msgstr "Ужыць апошні зададзены колер да контура"
 
-#: ../src/ui/widget/selected-style.cpp:566
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:561
 msgid "Apply last selected color to fill"
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "УжÑ\8bÑ\86Ñ\8c Ð°Ð¿Ð¾Ñ\88нÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b ÐºÐ¾Ð»ÐµÑ\80 Ð´Ð° Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cнÑ\8f"
 
-#: ../src/ui/widget/selected-style.cpp:577
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:572
 msgid "Apply last selected color to stroke"
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "УжÑ\8bÑ\86Ñ\8c Ð°Ð¿Ð¾Ñ\88нÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b ÐºÐ¾Ð»ÐµÑ\80 Ð´Ð° ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
-#: ../src/ui/widget/selected-style.cpp:597
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:592
 msgid "Invert fill"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\86нвÑ\8dÑ\80Ñ\82аваÑ\86Ñ\8c Ð·Ð°Ð¿Ð°Ñ\9eненÑ\8cне"
 
-#: ../src/ui/widget/selected-style.cpp:617
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:612
 msgid "Invert stroke"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\86нвÑ\8dÑ\80Ñ\82аваÑ\86Ñ\8c ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80"
 
-#: ../src/ui/widget/selected-style.cpp:629
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:624
 msgid "White fill"
-msgstr "УзоÑ\80:"
+msgstr "Ð\97апаÑ\9eненÑ\8cне Ð±ÐµÐ»Ñ\8bм"
 
-#: ../src/ui/widget/selected-style.cpp:641
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:636
 msgid "White stroke"
-msgstr "УзоÑ\80:"
+msgstr "Ð\91елÑ\8b ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80"
 
-#: ../src/ui/widget/selected-style.cpp:653
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:648
 msgid "Black fill"
-msgstr "ЧоÑ\80нÑ\8b:"
+msgstr "Ð\97апаÑ\9eненÑ\8cне Ñ\87оÑ\80нÑ\8bм"
 
-#: ../src/ui/widget/selected-style.cpp:665
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:660
 msgid "Black stroke"
-msgstr "УзоÑ\80:"
+msgstr "ЧоÑ\80нÑ\8b ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80"
 
-#: ../src/ui/widget/selected-style.cpp:708
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:703
 msgid "Paste fill"
-msgstr "Узор:"
+msgstr "Уставіць запаўненьне"
 
-#: ../src/ui/widget/selected-style.cpp:726
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:721
 msgid "Paste stroke"
-msgstr "Узор:"
+msgstr "Уставіць контур"
 
-#: ../src/ui/widget/selected-style.cpp:890
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:885
 msgid "Change stroke width"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ñ\88Ñ\8bÑ\80Ñ\8bнÑ\8e ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
-#: ../src/ui/widget/selected-style.cpp:985
+#: ../src/ui/widget/selected-style.cpp:980
 msgid ", drag to adjust"
-msgstr ""
+msgstr ", пацягні, каб скарэктаваць"
 
-#: ../src/ui/widget/selected-style.cpp:1066
+#: ../src/ui/widget/selected-style.cpp:1058
 #, c-format
 msgid "Stroke width: %.5g%s%s"
-msgstr ""
+msgstr "Таўшчыня контура: %.5g%s%s"
 
-#: ../src/ui/widget/selected-style.cpp:1070
+#: ../src/ui/widget/selected-style.cpp:1062
 msgid " (averaged)"
-msgstr ""
+msgstr " (спасярэднены)"
 
-#: ../src/ui/widget/selected-style.cpp:1098
+#: ../src/ui/widget/selected-style.cpp:1090
 msgid "0 (transparent)"
-msgstr ""
+msgstr "0 (празрысты)"
 
-#: ../src/ui/widget/selected-style.cpp:1122
+#: ../src/ui/widget/selected-style.cpp:1114
 msgid "100% (opaque)"
-msgstr ""
+msgstr "100% (непразрысты)"
 
-#: ../src/ui/widget/selected-style.cpp:1271
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:1261
 msgid "Adjust saturation"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "Ð\9aаÑ\80Ñ\8dкÑ\82аваÑ\86Ñ\8c Ð½Ð°Ñ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/ui/widget/selected-style.cpp:1273
+#: ../src/ui/widget/selected-style.cpp:1263
 #, c-format
-msgid ""
-"Adjusting <b>saturation</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with "
-"<b>Ctrl</b> to adjust lightness, without modifiers to adjust hue"
-msgstr ""
+msgid "Adjusting <b>saturation</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with <b>Ctrl</b> to adjust lightness, without modifiers to adjust hue"
+msgstr "Рэґуляваньне <b>насычанасьці</b>: было %.3g, стала <b>%.3g</b> (рознасьць %.3g); з <b>Ctrl</b> рэґуляваць сьветласьць, без мадыфікавальнікаў рэґуляваць адценьне"
 
-#: ../src/ui/widget/selected-style.cpp:1277
-#, fuzzy
+#: ../src/ui/widget/selected-style.cpp:1267
 msgid "Adjust lightness"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ð²Ñ\96даÑ\80Ñ\8bÑ\81а"
+msgstr "Ð\9aаÑ\80Ñ\8dкÑ\82аваÑ\86Ñ\8c Ñ\81Ñ\8cвеÑ\82лаÑ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/ui/widget/selected-style.cpp:1279
+#: ../src/ui/widget/selected-style.cpp:1269
 #, c-format
-msgid ""
-"Adjusting <b>lightness</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with "
-"<b>Shift</b> to adjust saturation, without modifiers to adjust hue"
-msgstr ""
+msgid "Adjusting <b>lightness</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with <b>Shift</b> to adjust saturation, without modifiers to adjust hue"
+msgstr "Рэґуляваньне <b>сьветласьці</b>: было %.3g, стала <b>%.3g</b> (рознасьць %.3g); з <b>Shift</b> рэґуляваць насычанасьць, без мадыфікавальнікаў рэґуляваць адценьне"
 
-#: ../src/ui/widget/selected-style.cpp:1283
+#: ../src/ui/widget/selected-style.cpp:1273
 msgid "Adjust hue"
-msgstr ""
+msgstr "Карэктаваць адценьне"
 
-#: ../src/ui/widget/selected-style.cpp:1285
+#: ../src/ui/widget/selected-style.cpp:1275
 #, c-format
-msgid ""
-"Adjusting <b>hue</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with <b>Shift</"
-"b> to adjust saturation, with <b>Ctrl</b> to adjust lightness"
-msgstr ""
+msgid "Adjusting <b>hue</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with <b>Shift</b> to adjust saturation, with <b>Ctrl</b> to adjust lightness"
+msgstr "Рэґуляваньне <b>адценьня</b>: было %.3g, стала <b>%.3g</b> (рознасьць %.3g); з <b>Shift</b> рэґуляваць насычанасьць, з <b>Ctrl</b> рэґуляваць сьветласьць"
 
-#: ../src/ui/widget/selected-style.cpp:1391
-#: ../src/ui/widget/selected-style.cpp:1405
-#, fuzzy
-msgid "Adjust stroke width"
-msgstr "Рысаваньне штрыхоўкі"
+#: ../src/ui/widget/page-sizer.cpp:233
+msgid "P_age size:"
+msgstr "_Памер старонкі:"
 
-#: ../src/ui/widget/selected-style.cpp:1392
-#, c-format
-msgid "Adjusting <b>stroke width</b>: was %.3g, now <b>%.3g</b> (diff %.3g)"
-msgstr ""
+#: ../src/ui/widget/page-sizer.cpp:241
+msgid "Page orientation:"
+msgstr "Арыентацыя старонкі:"
 
-#. TRANSLATORS: Only translate the word "Link" - means to _link_ two sliders together
-#: ../src/ui/widget/spin-slider.cpp:118
-msgid "sliders|Link"
-msgstr ""
+#: ../src/ui/widget/page-sizer.cpp:244
+msgid "_Landscape"
+msgstr "_Альбом"
 
-#: ../src/ui/widget/style-swatch.cpp:301
-#, fuzzy
+#: ../src/ui/widget/page-sizer.cpp:249
+msgid "_Portrait"
+msgstr "_Кніга"
+
+#. ## Set up custom size frame
+#: ../src/ui/widget/page-sizer.cpp:256
+msgid "Custom size"
+msgstr "Свой памер"
+
+#: ../src/ui/widget/page-sizer.cpp:265
+msgid "_Fit page to selection"
+msgstr "_Памер старонкі адпавядае вылучэньню"
+
+#: ../src/ui/widget/page-sizer.cpp:267
+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:299
+msgid "U_nits:"
+msgstr "_Адзінкі:"
+
+#: ../src/ui/widget/page-sizer.cpp:301
+msgid "Width of paper"
+msgstr "Шырыня паперы"
+
+#: ../src/ui/widget/page-sizer.cpp:303
+msgid "_Height:"
+msgstr "_Вышыня:"
+
+#: ../src/ui/widget/page-sizer.cpp:303
+msgid "Height of paper"
+msgstr "Вышыня паперы"
+
+#: ../src/ui/widget/page-sizer.cpp:355
+msgid "Set page size"
+msgstr "Вызначэньне памеру старонкі"
+
+#: ../src/ui/widget/style-swatch.cpp:299
 msgid "L Gradient"
-msgstr "Лінэйны градыент"
+msgstr "Л ґрадыент"
 
-#: ../src/ui/widget/style-swatch.cpp:305
-#, fuzzy
+#: ../src/ui/widget/style-swatch.cpp:303
 msgid "R Gradient"
-msgstr "Ð\9aÑ\80Ñ\83гавÑ\8b Ð³радыент"
+msgstr "Ð\9f Ò\91радыент"
 
-#: ../src/ui/widget/style-swatch.cpp:321
+#: ../src/ui/widget/style-swatch.cpp:319
 #, c-format
 msgid "Fill: %06x/%.3g"
-msgstr ""
+msgstr "Запаўненьне: %06x/%.3g"
 
-#: ../src/ui/widget/style-swatch.cpp:323
+#: ../src/ui/widget/style-swatch.cpp:321
 #, c-format
 msgid "Stroke: %06x/%.3g"
-msgstr ""
+msgstr "Контур: %06x/%.3g"
 
-#: ../src/ui/widget/style-swatch.cpp:355
+#: ../src/ui/widget/style-swatch.cpp:353
 #, c-format
 msgid "Stroke width: %.5g%s"
-msgstr ""
+msgstr "Таўшчыня контура: %.5g%s"
 
-#: ../src/ui/widget/style-swatch.cpp:371
+#: ../src/ui/widget/style-swatch.cpp:369
 #, c-format
 msgid "O:%.3g"
-msgstr ""
+msgstr "Н:%.3g"
 
-#: ../src/ui/widget/style-swatch.cpp:373
+#: ../src/ui/widget/style-swatch.cpp:371
 #, c-format
 msgid "O:.%d"
-msgstr ""
+msgstr "Н:.%d"
 
-#: ../src/ui/widget/style-swatch.cpp:378
-#, fuzzy, c-format
+#: ../src/ui/widget/style-swatch.cpp:376
+#, c-format
 msgid "Opacity: %.3g"
-msgstr "Зацямненьне:"
+msgstr "Непразрыстасьць: %.3g"
+
+#: ../src/ui/widget/preferences-widget.cpp:278
+msgid "Reset"
+msgstr "Вернуць"
+
+#: ../src/ui/widget/random.cpp:123
+msgid "Reseed the random number generator; this creates a different sequence of random numbers."
+msgstr ""
+
+#: ../src/ui/widget/rendering-options.cpp:39
+msgid "Vector"
+msgstr "Вэктар"
+
+#: ../src/ui/widget/rendering-options.cpp:40
+msgid "Bitmap"
+msgstr "Растар"
+
+#: ../src/ui/widget/rendering-options.cpp:41
+#, fuzzy
+msgid "Backend"
+msgstr "Канчатковы колер"
+
+#: ../src/ui/widget/rendering-options.cpp:42
+msgid "Bitmap options"
+msgstr "Выборы растра"
+
+#: ../src/ui/widget/rendering-options.cpp:44
+msgid "Preferred resolution of rendering, in dots per inch."
+msgstr "Пажаданае разрозьненьне для стварэньня, у пунктах на цалю."
+
+#: ../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 "Стварыць выкарыстоўваючы вэктарныя апэратары Cairo. Выніковы відарыс зазвычай мае меншы памер файла, і можна адвольна мяняць ягоны памер, але некаторыя эфэкты фільтраў ня будуць правільна апрацаваныя."
+
+#: ../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 "Рысаваць усё як растар. Выніковы відарыс зазвычай мае большы памер, і нельга адвольна мяняць ягоны памер бяз страты якасьці, але ўсе абʼекты будуць нарысаваныя дакладна так, як бачныя."
 
 #: ../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 "Скрыня: пасунуць пункт зьнікненьня"
 
 #: ../src/vanishing-point.cpp:306
 #, c-format
 msgid "<b>Finite</b> vanishing point shared by <b>%d</b> box"
-msgid_plural ""
-"<b>Finite</b> vanishing point shared by <b>%d</b> boxes; drag with <b>Shift</"
-"b> to separate selected box(es)"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgid_plural "<b>Finite</b> vanishing point shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected box(es)"
+msgstr[0] "<b>Канечны</b> пункт зьнікненьня агульны для <b>%d</b> скрыні"
+msgstr[1] "<b>Канечны</b> пункт зьнікненьня агульны для <b>%d</b> скрынь; пацягні з <b>Shift</b>, каб адасобіць вылучын(ую/ыя) скрын(ю/і)"
+msgstr[2] "<b>Канечны</b> пункт зьнікненьня агульны для <b>%d</b> скрыняў; пацягні з <b>Shift</b>, каб адасобіць вылучын(ую/ыя) скрын(ю/і)"
 
 #. 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 "<b>Infinite</b> vanishing point shared by <b>%d</b> box"
-msgid_plural ""
-"<b>Infinite</b> vanishing point shared by <b>%d</b> boxes; drag with "
-"<b>Shift</b> to separate selected box(es)"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgid_plural "<b>Infinite</b> vanishing point shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected box(es)"
+msgstr[0] "<b>Бясконцы</b> пункт зьнікненьня агульны для <b>%d</b> скрыні"
+msgstr[1] "<b>Бясконцы</b> пункт зьнікненьня агульны для <b>%d</b> скрынь; пацягні з <b>Shift</b>, каб адасобіць вылучын(ую/ыя) скрын(ю/і)"
+msgstr[2] "<b>Бясконцы</b> пункт зьнікненьня агульны для <b>%d</b> скрыняў; пацягні з <b>Shift</b>, каб адасобіць вылучын(ую/ыя) скрын(ю/і)"
 
 #: ../src/vanishing-point.cpp:321
 #, c-format
-msgid ""
-"shared by <b>%d</b> box; drag with <b>Shift</b> to separate selected box(es)"
-msgid_plural ""
-"shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected box"
-"(es)"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgid "shared by <b>%d</b> box; drag with <b>Shift</b> to separate selected box(es)"
+msgid_plural "shared by <b>%d</b> boxes; drag with <b>Shift</b> to separate selected box(es)"
+msgstr[0] "агульны для <b>%d</b> скрыні; пацягні з <b>Shift</b>, каб адасобіць вылучын(ую/ыя) скрын(ю/і)"
+msgstr[1] "агульны для <b>%d</b> скрынь; пацягні з <b>Shift</b>, каб адасобіць вылучын(ую/ыя) скрын(ю/і)"
+msgstr[2] "агульны для <b>%d</b> скрыняў; пацягні з <b>Shift</b>, каб адасобіць вылучын(ую/ыя) скрын(ю/і)"
 
-#: ../src/verbs.cpp:1134
-#, fuzzy
+#: ../src/verbs.cpp:1122
 msgid "Switch to next layer"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð·Ð¾Ñ\80кÑ\96 - Ñ\81Ñ\82ваÑ\80ае Ð·Ð¾Ñ\80кÑ\96 Ð¹ Ð¿Ð°Ð»Ñ\96гонÑ\8b"
+msgstr "Ð\9fеÑ\80аклÑ\8eÑ\87Ñ\8bÑ\86Ñ\86а Ð½Ð° Ð½Ð°Ñ\81Ñ\82Ñ\83пнÑ\8b Ð¿Ð»Ð°Ñ\81Ñ\82"
 
-#: ../src/verbs.cpp:1135
-#, fuzzy
+#: ../src/verbs.cpp:1123
 msgid "Switched to next layer."
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð·Ð¾Ñ\80кÑ\96 - Ñ\81Ñ\82ваÑ\80ае Ð·Ð¾Ñ\80кÑ\96 Ð¹ Ð¿Ð°Ð»Ñ\96гонÑ\8b"
+msgstr "Ð\9fеÑ\80аклÑ\8eÑ\87ана Ð½Ð° Ð½Ð°Ñ\81Ñ\82Ñ\83пнÑ\8b Ð¿Ð»Ð°Ñ\81Ñ\82."
 
-#: ../src/verbs.cpp:1137
+#: ../src/verbs.cpp:1125
 msgid "Cannot go past last layer."
-msgstr ""
+msgstr "Немагчыма апынуцца за апошнім пласт."
 
-#: ../src/verbs.cpp:1146
+#: ../src/verbs.cpp:1134
 msgid "Switch to previous layer"
-msgstr ""
+msgstr "Пераключыцца на папярэдні пласт"
 
-#: ../src/verbs.cpp:1147
+#: ../src/verbs.cpp:1135
 msgid "Switched to previous layer."
-msgstr ""
+msgstr "Пераключана на папярэдні пласт."
 
-#: ../src/verbs.cpp:1149
+#: ../src/verbs.cpp:1137
 msgid "Cannot go before first layer."
-msgstr ""
+msgstr "Немагчыма апынуцца перад першым пластом."
 
-#: ../src/verbs.cpp:1166 ../src/verbs.cpp:1250
+#: ../src/verbs.cpp:1154
+#: ../src/verbs.cpp:1238
 msgid "No current layer."
-msgstr ""
+msgstr "Няма бягучага пласта."
 
-#: ../src/verbs.cpp:1195 ../src/verbs.cpp:1199
+#: ../src/verbs.cpp:1183
+#: ../src/verbs.cpp:1187
 #, c-format
 msgid "Raised layer <b>%s</b>."
-msgstr ""
+msgstr "Пласт <b>%s</b> узьняты."
 
-#: ../src/verbs.cpp:1196
-#, fuzzy
+#: ../src/verbs.cpp:1184
 msgid "Layer to top"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fлаÑ\81Ñ\82 Ñ\83гоÑ\80Ñ\83"
 
-#: ../src/verbs.cpp:1200
-#, fuzzy
+#: ../src/verbs.cpp:1188
 msgid "Raise layer"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "УзÑ\8cнÑ\8fÑ\86Ñ\8c Ð¿Ð»Ð°Ñ\81Ñ\82"
 
-#: ../src/verbs.cpp:1203 ../src/verbs.cpp:1207
+#: ../src/verbs.cpp:1191
+#: ../src/verbs.cpp:1195
 #, c-format
 msgid "Lowered layer <b>%s</b>."
-msgstr ""
+msgstr "Пласт <b>%s</b> апушчаны."
 
-#: ../src/verbs.cpp:1204
-#, fuzzy
+#: ../src/verbs.cpp:1192
 msgid "Layer to bottom"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fлаÑ\81Ñ\82 Ð´Ð¾Ð»Ñ\83"
 
-#: ../src/verbs.cpp:1208
-#, fuzzy
+#: ../src/verbs.cpp:1196
 msgid "Lower layer"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð¿Ð»Ð°Ñ\81Ñ\82"
 
-#: ../src/verbs.cpp:1217
+#: ../src/verbs.cpp:1205
 msgid "Cannot move layer any further."
-msgstr ""
+msgstr "Больш немагчыма пасунуць пласт."
 
-#: ../src/verbs.cpp:1245
-#, fuzzy
+#: ../src/verbs.cpp:1233
 msgid "Delete layer"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð¿Ð»Ð°Ñ\81Ñ\82"
 
 #. TRANSLATORS: this means "The layer has been deleted."
-#: ../src/verbs.cpp:1248
-#, fuzzy
+#: ../src/verbs.cpp:1236
 msgid "Deleted layer."
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fлаÑ\81Ñ\82 Ð²Ñ\8bдаленÑ\8b."
 
-#: ../src/verbs.cpp:1330
-#, fuzzy
+#: ../src/verbs.cpp:1318
 msgid "Flip horizontally"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\93аÑ\80Ñ\8bзанÑ\82алÑ\8cнÑ\8b Ð¿ÐµÑ\80аваÑ\80оÑ\82"
 
-#: ../src/verbs.cpp:1345
-#, fuzzy
+#: ../src/verbs.cpp:1333
 msgid "Flip vertically"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "Ð\92Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cнÑ\8b Ð¿ÐµÑ\80аваÑ\80оÑ\82"
 
 #. 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
+#: ../src/verbs.cpp:1797
 msgid "tutorial-basic.svg"
-msgstr ""
+msgstr "tutorial-basic.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1833
+#: ../src/verbs.cpp:1801
 msgid "tutorial-shapes.svg"
-msgstr ""
+msgstr "tutorial-shapes.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1837
+#: ../src/verbs.cpp:1805
 msgid "tutorial-advanced.svg"
-msgstr ""
+msgstr "tutorial-advanced.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1841
+#: ../src/verbs.cpp:1809
 msgid "tutorial-tracing.svg"
-msgstr ""
+msgstr "tutorial-tracing.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1845
+#: ../src/verbs.cpp:1813
 msgid "tutorial-calligraphy.svg"
-msgstr ""
+msgstr "tutorial-calligraphy.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1849
+#: ../src/verbs.cpp:1817
 msgid "tutorial-elements.svg"
-msgstr ""
+msgstr "tutorial-elements.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1853
+#: ../src/verbs.cpp:1821
 msgid "tutorial-tips.svg"
-msgstr ""
+msgstr "tutorial-tips.svg"
 
-#: ../src/verbs.cpp:2129 ../src/verbs.cpp:2634
-#, fuzzy
+#: ../src/verbs.cpp:2098
+#: ../src/verbs.cpp:2584
 msgid "Unlock all objects in the current layer"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87ае Ñ\9eÑ\81е Ð°Ð±'екÑ\82Ñ\8b Ñ\9e Ð´Ð°ÐºÑ\83мÑ\8dнÑ\86е"
+msgstr "Ð\90дамкнÑ\83Ñ\86Ñ\8c Ñ\83Ñ\81е Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð±Ñ\8fгÑ\83Ñ\87ага Ð¿Ð»Ð°Ñ\81Ñ\82а"
 
-#: ../src/verbs.cpp:2133 ../src/verbs.cpp:2636
-#, fuzzy
+#: ../src/verbs.cpp:2102
+#: ../src/verbs.cpp:2586
 msgid "Unlock all objects in all layers"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87ае Ñ\9eÑ\81е Ð°Ð±'екÑ\82Ñ\8b Ñ\9e Ð´Ð°ÐºÑ\83мÑ\8dнÑ\86е"
+msgstr "Ð\90дамкнÑ\83Ñ\86Ñ\8c Ñ\83Ñ\81е Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð½Ð° Ñ\9eÑ\81Ñ\96Ñ\85 Ð¿Ð»Ð°Ñ\81Ñ\82аÑ\85"
 
-#: ../src/verbs.cpp:2137 ../src/verbs.cpp:2638
-#, fuzzy
+#: ../src/verbs.cpp:2106
+#: ../src/verbs.cpp:2588
 msgid "Unhide all objects in the current layer"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87ае Ñ\9eÑ\81е Ð°Ð±'екÑ\82Ñ\8b Ñ\9e Ð´Ð°ÐºÑ\83мÑ\8dнÑ\86е"
+msgstr "Ð\9fаказаÑ\86Ñ\8c Ñ\83Ñ\81е Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð±Ñ\8fгÑ\83Ñ\87ага Ð¿Ð»Ð°Ñ\81Ñ\82а"
 
-#: ../src/verbs.cpp:2141 ../src/verbs.cpp:2640
-#, fuzzy
+#: ../src/verbs.cpp:2110
+#: ../src/verbs.cpp:2590
 msgid "Unhide all objects in all layers"
-msgstr "Ð\92Ñ\8bбÑ\8fÑ\80Ñ\8bÑ\86е Ð´Ñ\80Ñ\83каÑ\80кÑ\83"
+msgstr "Ð\9fаказаÑ\86Ñ\8c Ñ\83Ñ\81е Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð½Ð° Ñ\9eÑ\81Ñ\96Ñ\85 Ð¿Ð»Ð°Ñ\81Ñ\82аÑ\85"
 
-#: ../src/verbs.cpp:2156
+#: ../src/verbs.cpp:2125
 msgid "Does nothing"
 msgstr "Нічога"
 
-#: ../src/verbs.cpp:2159
+#: ../src/verbs.cpp:2128
 msgid "Create new document from the default template"
-msgstr ""
+msgstr "Стварыць новы дакумэнт паводле прадвызначанага шаблёну"
 
-#: ../src/verbs.cpp:2161
-#, fuzzy
+#: ../src/verbs.cpp:2130
 msgid "_Open..."
-msgstr "Адкрыць..."
+msgstr "_Адкрыць…"
 
-#: ../src/verbs.cpp:2162
-#, fuzzy
+#: ../src/verbs.cpp:2131
 msgid "Open an existing document"
-msgstr "Адкрывае існуючы дакумэнт SVG"
+msgstr "Адкрыць існоўны дакумэнт"
 
-#: ../src/verbs.cpp:2163
-#, fuzzy
+#: ../src/verbs.cpp:2132
 msgid "Re_vert"
-msgstr "Прамакутнік"
+msgstr "_Вернуць"
 
-#: ../src/verbs.cpp:2164
+#: ../src/verbs.cpp:2133
 msgid "Revert to the last saved version of document (changes will be lost)"
-msgstr ""
+msgstr "Вернуцца да апошняй захаванай вэрсіі дакумэнта (зьмены будуць страчаныя)"
 
-#: ../src/verbs.cpp:2165
-#, fuzzy
+#: ../src/verbs.cpp:2134
 msgid "_Save"
-msgstr "Захаваць"
+msgstr "_Захаваць"
 
-#: ../src/verbs.cpp:2165
+#: ../src/verbs.cpp:2134
 msgid "Save document"
-msgstr "Ð\97аÑ\85оÑ\9eвае дакумэнт"
+msgstr "Ð\97аÑ\85аваÑ\86Ñ\8c дакумэнт"
 
-#: ../src/verbs.cpp:2167
-#, fuzzy
+#: ../src/verbs.cpp:2136
 msgid "Save _As..."
-msgstr "Захаваць як"
+msgstr "Захаваць _як…"
 
-#: ../src/verbs.cpp:2168
-#, fuzzy
+#: ../src/verbs.cpp:2137
 msgid "Save document under a new name"
-msgstr "Ð\97аÑ\85оÑ\9eвае Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82 Ð¿Ð°Ð´ новай назвай"
+msgstr "Ð\97аÑ\85аваÑ\86Ñ\8c Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82 Ð· новай назвай"
 
-#: ../src/verbs.cpp:2169
-#, fuzzy
+#: ../src/verbs.cpp:2138
 msgid "Save a Cop_y..."
-msgstr "Захаваць як"
+msgstr "Захаваць _копію…"
 
-#: ../src/verbs.cpp:2170
-#, fuzzy
+#: ../src/verbs.cpp:2139
 msgid "Save a copy of the document under a new name"
-msgstr "Ð\97аÑ\85оÑ\9eвае Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82 Ð¿Ð°Ð´ новай назвай"
+msgstr "Ð\97аÑ\85аваÑ\86Ñ\8c ÐºÐ¾Ð¿Ñ\96Ñ\8e Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а Ð· новай назвай"
 
-#: ../src/verbs.cpp:2171
-#, fuzzy
+#: ../src/verbs.cpp:2140
 msgid "_Print..."
-msgstr "Друк..."
+msgstr "_Надрукаваць…"
 
-#: ../src/verbs.cpp:2171
+#: ../src/verbs.cpp:2140
 msgid "Print document"
-msgstr "Ð\94Ñ\80Ñ\83кÑ\83е дакумэнт"
+msgstr "Ð\9dадÑ\80Ñ\83каваÑ\86Ñ\8c дакумэнт"
 
 #. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions)
-#: ../src/verbs.cpp:2174
+#: ../src/verbs.cpp:2143
 msgid "Vac_uum Defs"
-msgstr ""
+msgstr "Ач_ысьціць Defs"
 
-#: ../src/verbs.cpp:2174
-msgid ""
-"Remove unused definitions (such as gradients or clipping paths) from the &lt;"
-"defs&gt; of the document"
-msgstr ""
+#: ../src/verbs.cpp:2143
+msgid "Remove unused definitions (such as gradients or clipping paths) from the &lt;defs&gt; of the document"
+msgstr "Прыбраць няўжытыя азначэньні (напр.: ґрадыенты ці шляхі абразаньня) з &lt;defs&gt; дакумэнта"
 
-#: ../src/verbs.cpp:2176
-#, fuzzy
+#: ../src/verbs.cpp:2145
 msgid "Print Previe_w"
-msgstr "Ð\9fеÑ\80адпÑ\80аглÑ\8fд Ð´Ñ\80Ñ\83кÑ\83"
+msgstr "Ð\90глÑ\8fд Ð¿ÐµÑ\80ад _дÑ\80Ñ\83кам"
 
-#: ../src/verbs.cpp:2177
+#: ../src/verbs.cpp:2146
 msgid "Preview document printout"
-msgstr "Ð\9fапÑ\8fÑ\80Ñ\8dднÑ\96 Ð¿Ñ\80аглÑ\8fд Ð²Ñ\8bвадÑ\83 Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а Ð½Ð° Ð´Ñ\80Ñ\83к"
+msgstr "Ð\9fапÑ\8fÑ\80Ñ\8dднÑ\96 Ð°Ð³Ð»Ñ\8fд Ð´Ð°ÐºÑ\83мÑ\8dнÑ\82а Ð¿ÐµÑ\80ад Ð´Ñ\80Ñ\83каванÑ\8cнем"
 
-#: ../src/verbs.cpp:2178
-#, fuzzy
+#: ../src/verbs.cpp:2147
 msgid "_Import..."
-msgstr "Імпартаваць"
+msgstr "_Імпартаваць…"
 
-#: ../src/verbs.cpp:2179
-#, fuzzy
+#: ../src/verbs.cpp:2148
 msgid "Import a bitmap or SVG image into this document"
-msgstr "Імпартуе кропкавы ці SVG відарыс у дакумэнт"
+msgstr "Імпартаваць растравы ці SVG відарыс у дакумэнт"
 
-#: ../src/verbs.cpp:2180
-#, fuzzy
+#: ../src/verbs.cpp:2149
 msgid "_Export Bitmap..."
-msgstr "Экспартаваць кропкавы відарыс"
+msgstr "_Экспартаваць растар…"
 
-#: ../src/verbs.cpp:2181
-#, fuzzy
+#: ../src/verbs.cpp:2150
 msgid "Export this document or a selection as a bitmap image"
-msgstr "Экспартуе дакумэнт як PNG відарыс"
+msgstr "Экспартаваць дакумэнт ці вылучэньне як растравы відарыс"
 
-#: ../src/verbs.cpp:2182
+#: ../src/verbs.cpp:2151
 msgid "Import a document from Open Clip Art Library"
-msgstr ""
+msgstr "Імпартаваць дакумэнт у Адкрытую бібліятэку відарысаў"
 
-#: ../src/verbs.cpp:2183
+#: ../src/verbs.cpp:2152
 msgid "Export To Open Clip Art Library"
-msgstr ""
+msgstr "Экспартаваць у Адкрытую бібліятэку відарысаў"
 
-#: ../src/verbs.cpp:2183
-#, fuzzy
+#: ../src/verbs.cpp:2152
 msgid "Export this document to Open Clip Art Library"
-msgstr "Экспартуе дакумэнт як PNG відарыс"
+msgstr "Экспартаваць дакумэнт у Адкрытую бібліятэку відарысаў"
 
-#: ../src/verbs.cpp:2184
-#, fuzzy
+#: ../src/verbs.cpp:2153
 msgid "N_ext Window"
-msgstr "Акно рэдагаваньня"
+msgstr "_Наступнае вакно"
 
-#: ../src/verbs.cpp:2185
+#: ../src/verbs.cpp:2154
 msgid "Switch to the next document window"
-msgstr ""
+msgstr "Пераключыцца на наступнае вакно дакумэнта"
 
-#: ../src/verbs.cpp:2186
+#: ../src/verbs.cpp:2155
 msgid "P_revious Window"
-msgstr ""
+msgstr "_Папярэдняе вакно"
 
-#: ../src/verbs.cpp:2187
+#: ../src/verbs.cpp:2156
 msgid "Switch to the previous document window"
-msgstr ""
+msgstr "Пераключыцца на папярэдняе вакно дакумэнта"
 
-#: ../src/verbs.cpp:2188
-#, fuzzy
+#: ../src/verbs.cpp:2157
 msgid "_Close"
-msgstr "Закрыць"
+msgstr "_Закрыць"
 
-#: ../src/verbs.cpp:2189
+#: ../src/verbs.cpp:2158
 msgid "Close this document window"
-msgstr ""
+msgstr "Закрыць гэтае вакно дакумэнта"
 
-#: ../src/verbs.cpp:2190
+#: ../src/verbs.cpp:2159
 msgid "_Quit"
-msgstr ""
+msgstr "_Выйсьці"
 
-#: ../src/verbs.cpp:2190
+#: ../src/verbs.cpp:2159
 msgid "Quit Inkscape"
-msgstr ""
+msgstr "Выйсьці з Inkscape"
 
-#: ../src/verbs.cpp:2193
-#, fuzzy
+#: ../src/verbs.cpp:2162
 msgid "Undo last action"
-msgstr "Ð\90дмÑ\8fнÑ\8fе апошняе дзеяньне"
+msgstr "Ð\90дмÑ\8fнÑ\96Ñ\86Ñ\8c апошняе дзеяньне"
 
-#: ../src/verbs.cpp:2196
-#, fuzzy
+#: ../src/verbs.cpp:2165
 msgid "Do again the last undone action"
-msgstr "Паўтарае незавершанае дзеяньне"
+msgstr "Паўтарыць апошняе адмененае дзеяньне"
 
-#: ../src/verbs.cpp:2197
-#, fuzzy
+#: ../src/verbs.cpp:2166
 msgid "Cu_t"
-msgstr "Выразаць"
+msgstr "_Выразаць"
 
-#: ../src/verbs.cpp:2198
-#, fuzzy
+#: ../src/verbs.cpp:2167
 msgid "Cut selection to clipboard"
-msgstr "Выразае вылучаныя аб'екты ў буфэр абмену"
+msgstr "Выразаць вылучэньне ў буфэр абмену"
 
-#: ../src/verbs.cpp:2199
-#, fuzzy
+#: ../src/verbs.cpp:2168
 msgid "_Copy"
-msgstr "Капіяваць"
+msgstr "_Капіяваць"
 
-#: ../src/verbs.cpp:2200
-#, fuzzy
+#: ../src/verbs.cpp:2169
 msgid "Copy selection to clipboard"
-msgstr "Ð\9aапÑ\83е Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b ў буфэр абмену"
+msgstr "СкапÑ\96Ñ\8fваÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне ў буфэр абмену"
 
-#: ../src/verbs.cpp:2201
-#, fuzzy
+#: ../src/verbs.cpp:2170
 msgid "_Paste"
-msgstr "Уставіць"
+msgstr "_Уставіць"
 
-#: ../src/verbs.cpp:2202
-#, fuzzy
+#: ../src/verbs.cpp:2171
 msgid "Paste objects from clipboard to mouse point, or paste text"
-msgstr "Устаўляе аб'екты з буфэра абмену"
+msgstr "Уставіць абʼекты з буфэра абмену ля курсора мышы, ці ўставіць тэкст"
 
-#: ../src/verbs.cpp:2203
+#: ../src/verbs.cpp:2172
 msgid "Paste _Style"
-msgstr ""
+msgstr "Уставіць _стыль"
 
-#: ../src/verbs.cpp:2204
+#: ../src/verbs.cpp:2173
 msgid "Apply the style of the copied object to selection"
-msgstr ""
+msgstr "Ужыць стыль скапіяванага абʼекта да вылучэньня"
 
-#: ../src/verbs.cpp:2206
+#: ../src/verbs.cpp:2175
 msgid "Scale selection to match the size of the copied object"
-msgstr ""
+msgstr "Зрабіць памер вылучэньня роўным памеру капіяванага абʼекта"
 
-#: ../src/verbs.cpp:2207
+#: ../src/verbs.cpp:2176
 msgid "Paste _Width"
-msgstr ""
+msgstr "Уставіць _шырыню"
 
-#: ../src/verbs.cpp:2208
+#: ../src/verbs.cpp:2177
 msgid "Scale selection horizontally to match the width of the copied object"
-msgstr ""
+msgstr "Зрабіць гарызантальны памер вылучэньня роўным шырыні капіяванага абʼекта"
 
-#: ../src/verbs.cpp:2209
-#, fuzzy
+#: ../src/verbs.cpp:2178
 msgid "Paste _Height"
-msgstr "Ð\92Ñ\8bÑ\88Ñ\8bнÑ\8f:"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c _вÑ\8bÑ\88Ñ\8bнÑ\8e"
 
-#: ../src/verbs.cpp:2210
+#: ../src/verbs.cpp:2179
 msgid "Scale selection vertically to match the height of the copied object"
-msgstr ""
+msgstr "Зрабіць вэртыкальны памер вылучэньня роўным вышыні капіяванага абʼекта"
 
-#: ../src/verbs.cpp:2211
+#: ../src/verbs.cpp:2180
 msgid "Paste Size Separately"
-msgstr ""
+msgstr "Уставіць асобна памер"
 
-#: ../src/verbs.cpp:2212
+#: ../src/verbs.cpp:2181
 msgid "Scale each selected object to match the size of the copied object"
-msgstr ""
+msgstr "Зрабіць памер кожнага вылучанага абʼекта роўным памеру капіяванага абʼекта"
 
-#: ../src/verbs.cpp:2213
+#: ../src/verbs.cpp:2182
 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 ""
+#: ../src/verbs.cpp:2183
+msgid "Scale each selected object horizontally to match the width of the copied object"
+msgstr "Зрабіць гарызантальны памер кожнага вылучанага абʼекта роўным шырыні капіяванага абʼекта"
 
-#: ../src/verbs.cpp:2215
+#: ../src/verbs.cpp:2184
 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 ""
+#: ../src/verbs.cpp:2185
+msgid "Scale each selected object vertically to match the height of the copied object"
+msgstr "Зрабіць вэртыкальны памер кожнага вылучанага абʼекта роўным вышыні капіяванага абʼекта"
 
-#: ../src/verbs.cpp:2217
+#: ../src/verbs.cpp:2186
 msgid "Paste _In Place"
-msgstr ""
+msgstr "Уставіць у _месца"
 
-#: ../src/verbs.cpp:2218
-#, fuzzy
+#: ../src/verbs.cpp:2187
 msgid "Paste objects from clipboard to the original location"
-msgstr "Устаўляе аб'екты з буфэра абмену"
+msgstr "Уставіць абʼекты з буфэра абмену ў спачатнае месца"
 
-#: ../src/verbs.cpp:2219
-#, fuzzy
+#: ../src/verbs.cpp:2188
 msgid "Paste Path _Effect"
-msgstr "СÑ\82Ñ\8bлÑ\8c Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c _Ñ\8dÑ\84Ñ\8dкÑ\82 Ñ\88лÑ\8fÑ\85Ñ\83"
 
-#: ../src/verbs.cpp:2220
+#: ../src/verbs.cpp:2189
 msgid "Apply the path effect of the copied object to selection"
-msgstr ""
-
-#: ../src/verbs.cpp:2221
-#, fuzzy
-msgid "Remove Path _Effect"
-msgstr "Выдаліць лучыва"
-
-#: ../src/verbs.cpp:2222
-#, fuzzy
-msgid "Remove any path effects from selected objects"
-msgstr "Выдаляе трансфармаваньні"
-
-#: ../src/verbs.cpp:2223
-#, fuzzy
-msgid "Remove Filter"
-msgstr "Выдаліць лучыва"
-
-#: ../src/verbs.cpp:2224
-#, fuzzy
-msgid "Remove any filters from selected objects"
-msgstr "Выдаляе трансфармаваньні"
+msgstr "Ужыць эфэкт шляху скапіяванага абʼекта да вылучэньня"
 
-#: ../src/verbs.cpp:2225
-#, fuzzy
+#: ../src/verbs.cpp:2190
 msgid "_Delete"
-msgstr "Выдаліць"
+msgstr "_Выдаліць"
 
-#: ../src/verbs.cpp:2226
-#, fuzzy
+#: ../src/verbs.cpp:2191
 msgid "Delete selection"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злÑ\8b"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
 
-#: ../src/verbs.cpp:2227
-#, fuzzy
+#: ../src/verbs.cpp:2192
 msgid "Duplic_ate"
-msgstr "Падвоіць"
+msgstr "_Дубляваць"
 
-#: ../src/verbs.cpp:2228
+#: ../src/verbs.cpp:2193
 msgid "Duplicate selected objects"
-msgstr "Падвойвае вылучаныя аб'екты"
+msgstr "Падвоіць вылучаныя абʼекты"
 
-#: ../src/verbs.cpp:2229
-#, fuzzy
+#: ../src/verbs.cpp:2194
 msgid "Create Clo_ne"
-msgstr "Стварыць лучыва"
+msgstr "Стварыць _клон"
 
-#: ../src/verbs.cpp:2230
+#: ../src/verbs.cpp:2195
 msgid "Create a clone (a copy linked to the original) of selected object"
-msgstr ""
+msgstr "Стварыць клон (копію, злучаную з арыґіналам) вылучанага абʼекта"
 
-#: ../src/verbs.cpp:2231
+#: ../src/verbs.cpp:2196
 msgid "Unlin_k Clone"
-msgstr ""
+msgstr "_Адлучыць клон"
 
-#: ../src/verbs.cpp:2232
-msgid ""
-"Cut the selected clone's link to its original, turning it into a standalone "
-"object"
-msgstr ""
+#: ../src/verbs.cpp:2197
+msgid "Cut the selected clone's link to its original, turning it into a standalone object"
+msgstr "Разарваць сувязь вылучанага клона з арыґіналам, зрабіўшы яго асобным абʼектам"
 
-#: ../src/verbs.cpp:2233
-#, fuzzy
+#: ../src/verbs.cpp:2198
 msgid "Select _Original"
-msgstr "Выбярыце друкарку"
+msgstr "_Вылучыць арыґінальны"
 
-#: ../src/verbs.cpp:2234
+#: ../src/verbs.cpp:2199
 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
+#: ../src/verbs.cpp:2201
 msgid "Objects to _Marker"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð°Ð±'екÑ\82а"
+msgstr "Ð\90бʼекÑ\82Ñ\8b Ñ\9e _меÑ\82кÑ\83"
 
-#: ../src/verbs.cpp:2237
-#, fuzzy
+#: ../src/verbs.cpp:2202
 msgid "Convert selection to a line marker"
-msgstr "Ð\92Ñ\8bÑ\80азае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ñ\9e Ð±Ñ\83Ñ\84Ñ\8dÑ\80 Ð°Ð±Ð¼ÐµÐ½Ñ\83"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне Ñ\9e Ð¼ÐµÑ\82кÑ\83 Ð»Ñ\96нÑ\96Ñ\96"
 
 #. TRANSLATORS: Convert selection to a collection of guidelines
-#: ../src/verbs.cpp:2239
-#, fuzzy
+#: ../src/verbs.cpp:2204
 msgid "Objects to Gu_ides"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð°Ð±'екÑ\82а"
+msgstr "Ð\90бʼекÑ\82Ñ\8b Ñ\9e Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\8bÑ\8f"
 
-#: ../src/verbs.cpp:2240
-msgid ""
-"Convert selected objects to a collection of guidelines aligned with their "
-"edges"
-msgstr ""
+#: ../src/verbs.cpp:2205
+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
-#, fuzzy
+#: ../src/verbs.cpp:2207
 msgid "Objects to Patter_n"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð°Ð±'екÑ\82а"
+msgstr "Ð\90бʼекÑ\82Ñ\8b Ð²Ð° _Ñ\9eзоÑ\80"
 
-#: ../src/verbs.cpp:2243
+#: ../src/verbs.cpp:2208
 msgid "Convert selection to a rectangle with tiled pattern fill"
-msgstr ""
+msgstr "Ператварыць вылучэньне ў прастакутнік запоўнены мазаічным узорам"
 
 #. TRANSLATORS: Extract objects from a tiled pattern fill
-#: ../src/verbs.cpp:2245
-#, fuzzy
+#: ../src/verbs.cpp:2210
 msgid "Pattern to _Objects"
-msgstr "РаÑ\9eнае Ð°Ð±'ект"
+msgstr "УзоÑ\80 Ñ\83 _абʼект"
 
-#: ../src/verbs.cpp:2246
+#: ../src/verbs.cpp:2211
 msgid "Extract objects from a tiled pattern fill"
-msgstr ""
+msgstr "Выняць абʼекты з запаўненьня мазаічным узорам"
 
-#: ../src/verbs.cpp:2247
-#, fuzzy
+#: ../src/verbs.cpp:2212
 msgid "Clea_r All"
-msgstr "Ачысьціць усё"
+msgstr "Ачысьціць _усё"
 
-#: ../src/verbs.cpp:2248
+#: ../src/verbs.cpp:2213
 msgid "Delete all objects from document"
-msgstr "Выдаляе ўсе аб'екты з дакумэнта"
+msgstr "Выдаляе ўсе абʼекты з дакумэнта"
 
-#: ../src/verbs.cpp:2249
-#, fuzzy
+#: ../src/verbs.cpp:2214
 msgid "Select Al_l"
-msgstr "Вылучыць усё"
+msgstr "_Вылучыць усё"
 
-#: ../src/verbs.cpp:2250
-#, fuzzy
+#: ../src/verbs.cpp:2215
 msgid "Select all objects or all nodes"
-msgstr "Вылучае ўсе аб'екты ў дакумэнце"
+msgstr "Вылучыць усе абʼекты ці ўсе вузлы"
 
-#: ../src/verbs.cpp:2251
+#: ../src/verbs.cpp:2216
 msgid "Select All in All La_yers"
-msgstr ""
+msgstr "Вылучыць усё на ўсіх _пластах"
 
-#: ../src/verbs.cpp:2252
-#, fuzzy
+#: ../src/verbs.cpp:2217
 msgid "Select all objects in all visible and unlocked layers"
-msgstr "Вылучае ўсе аб'екты ў дакумэнце"
+msgstr "Вылучыць усе абʼекты на ўсіх бачных і адамкнутых пластах"
 
-#: ../src/verbs.cpp:2253
-#, fuzzy
+#: ../src/verbs.cpp:2218
 msgid "In_vert Selection"
-msgstr "Вылучэньне"
+msgstr "_Інвэртаваць вылучэньне"
 
-#: ../src/verbs.cpp:2254
+#: ../src/verbs.cpp:2219
 msgid "Invert selection (unselect what is selected and select everything else)"
-msgstr ""
+msgstr "Інвэртаваць вылучэньне (зьняць вылучэньне з вылучанага й вылучыць усё астатняе)"
 
-#: ../src/verbs.cpp:2255
+#: ../src/verbs.cpp:2220
 msgid "Invert in All Layers"
-msgstr ""
+msgstr "Інвэртаваць на ўсіх пластах"
 
-#: ../src/verbs.cpp:2256
+#: ../src/verbs.cpp:2221
 msgid "Invert selection in all visible and unlocked layers"
-msgstr ""
+msgstr "Інвэртаваць вылучэньне на ўсіх бачных і адамкнутых пластах"
 
-#: ../src/verbs.cpp:2257
-#, fuzzy
+#: ../src/verbs.cpp:2222
 msgid "Select Next"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bбÑ\80аÑ\86Ñ\8c Ð½Ð°Ñ\81Ñ\82Ñ\83пнае"
 
-#: ../src/verbs.cpp:2258
-#, fuzzy
+#: ../src/verbs.cpp:2223
 msgid "Select next object or node"
-msgstr "Вылучае ўсе аб'екты ў дакумэнце"
+msgstr "Вылучыць наступны абʼект ці вузел"
 
-#: ../src/verbs.cpp:2259
-#, fuzzy
+#: ../src/verbs.cpp:2224
 msgid "Select Previous"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\92Ñ\8bбÑ\80аÑ\86Ñ\8c Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\8fе"
 
-#: ../src/verbs.cpp:2260
-#, fuzzy
+#: ../src/verbs.cpp:2225
 msgid "Select previous object or node"
-msgstr "Вылучае ўсе аб'екты ў дакумэнце"
+msgstr "Вылучыць папярэдні абʼект ці вузел"
 
-#: ../src/verbs.cpp:2261
-#, fuzzy
+#: ../src/verbs.cpp:2226
 msgid "D_eselect"
-msgstr "Вылучэньне"
+msgstr "_Зьняць вылучэньне"
 
-#: ../src/verbs.cpp:2262
-#, fuzzy
+#: ../src/verbs.cpp:2227
 msgid "Deselect any selected objects or nodes"
-msgstr "Выдаляе вылучаныя аб'екты"
-
-#: ../src/verbs.cpp:2263
-msgid "_Guides around page"
-msgstr ""
-
-#: ../src/verbs.cpp:2264
-msgid "Create four guides aligned with the page borders"
-msgstr ""
+msgstr "Зьняць вылучэньне зь любых вылучаных абʼектаў ці вузлоў"
 
-#: ../src/verbs.cpp:2265
-#, fuzzy
+#: ../src/verbs.cpp:2228
+#: ../src/widgets/toolbox.cpp:1100
 msgid "Next Path Effect Parameter"
-msgstr "СÑ\82Ñ\8bлÑ\8c Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\9dаÑ\81Ñ\82Ñ\83пнÑ\8b Ð¿Ð°Ñ\80амÑ\8dÑ\82аÑ\80 Ñ\8dÑ\84Ñ\8dкÑ\82Ñ\83 Ñ\88лÑ\8fÑ\85а"
 
-#: ../src/verbs.cpp:2266
+#: ../src/verbs.cpp:2229
+#: ../src/widgets/toolbox.cpp:1101
 msgid "Show next Path Effect parameter for editing"
-msgstr ""
+msgstr "Паказаць для праўкі наступны парамэтар эфэкту шляха"
 
 #. Selection
-#: ../src/verbs.cpp:2269
-#, fuzzy
+#: ../src/verbs.cpp:2232
 msgid "Raise to _Top"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "УзÑ\8cнÑ\8fÑ\86Ñ\8c _Ñ\83гаÑ\80Ñ\83"
 
-#: ../src/verbs.cpp:2270
-#, fuzzy
+#: ../src/verbs.cpp:2233
 msgid "Raise selection to top"
-msgstr "Ð\9fадÑ\8bмае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð²ÐµÑ\80Ñ\85нÑ\96 Ñ\81лой"
+msgstr "УзÑ\8cнÑ\8fÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне Ñ\9eгаÑ\80Ñ\83"
 
-#: ../src/verbs.cpp:2271
+#: ../src/verbs.cpp:2234
 msgid "Lower to _Bottom"
-msgstr ""
+msgstr "Апусьціць _долу"
 
-#: ../src/verbs.cpp:2272
-#, fuzzy
+#: ../src/verbs.cpp:2235
 msgid "Lower selection to bottom"
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
+msgstr "Апусьціць вылучэньне долу"
 
-#: ../src/verbs.cpp:2273
-#, fuzzy
+#: ../src/verbs.cpp:2236
 msgid "_Raise"
-msgstr "Падняць"
+msgstr "_Узьняць"
 
-#: ../src/verbs.cpp:2274
-#, fuzzy
+#: ../src/verbs.cpp:2237
 msgid "Raise selection one step"
-msgstr "Ð\9fадÑ\8bмае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð²ÐµÑ\80Ñ\85нÑ\96 Ñ\81лой"
+msgstr "УзÑ\8cнÑ\8fÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне Ð½Ð° Ð°Ð´Ð·Ñ\96н Ñ\80овенÑ\8c"
 
-#: ../src/verbs.cpp:2275
-#, fuzzy
+#: ../src/verbs.cpp:2238
 msgid "_Lower"
-msgstr "Апусьціць"
+msgstr "_Апусьціць"
 
-#: ../src/verbs.cpp:2276
-#, fuzzy
+#: ../src/verbs.cpp:2239
 msgid "Lower selection one step"
-msgstr "Апускае вылучаныя аб'екты на адзін узровень"
+msgstr "Апусьціць вылучэньне на адзін ровень"
 
-#: ../src/verbs.cpp:2277
-#, fuzzy
+#: ../src/verbs.cpp:2240
 msgid "_Group"
-msgstr "Згрупаваць"
+msgstr "_Зґрупаваць"
 
-#: ../src/verbs.cpp:2278
+#: ../src/verbs.cpp:2241
 msgid "Group selected objects"
-msgstr "Групуе вылучаныя аб'екты"
+msgstr "Ґрупаваць вылучаныя абʼекты"
 
-#: ../src/verbs.cpp:2280
-#, fuzzy
+#: ../src/verbs.cpp:2243
 msgid "Ungroup selected groups"
-msgstr "Разгрупоўвае вылучаныя аб'екты"
+msgstr "Разґрупаваць вылучаныя ґрупы"
 
-#: ../src/verbs.cpp:2282
+#: ../src/verbs.cpp:2245
 msgid "_Put on Path"
-msgstr ""
+msgstr "_Разьмесьціць на шляху"
 
-#: ../src/verbs.cpp:2284
-#, fuzzy
+#: ../src/verbs.cpp:2247
 msgid "_Remove from Path"
-msgstr "Выдаляе трансфармаваньні"
+msgstr "_Прыбраць са шляху"
 
-#: ../src/verbs.cpp:2286
+#: ../src/verbs.cpp:2249
 msgid "Remove Manual _Kerns"
-msgstr ""
+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:2289
-#, fuzzy
+#: ../src/verbs.cpp:2252
 msgid "Remove all manual kerns and glyph rotations from a text object"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð· Ð°Ð±'екÑ\82а"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ñ\86алкам Ð· Ñ\82Ñ\8dкÑ\81Ñ\82авага Ð°Ð±Ê¼ÐµÐºÑ\82а Ñ\80Ñ\83Ñ\87нÑ\8b ÐºÐµÑ\80нÑ\96нг Ñ\96 Ð¿Ð°Ð²Ð°Ñ\80оÑ\82 Ð»Ñ\96Ñ\82аÑ\80"
 
-#: ../src/verbs.cpp:2291
-#, fuzzy
+#: ../src/verbs.cpp:2254
 msgid "_Union"
-msgstr "Адкаціцца"
+msgstr "_Абʼяднаньне"
 
-#: ../src/verbs.cpp:2292
-#, fuzzy
+#: ../src/verbs.cpp:2255
 msgid "Create union of selected paths"
-msgstr "УÑ\81Ñ\82аÑ\9eлÑ\8fе Ð½Ð¾Ð²Ñ\8bÑ\8f Ð²Ñ\83злÑ\8b Ñ\9e Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ñ\81Ñ\8dгмÑ\8dнÑ\82Ñ\8b"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð°Ð±Ê¼Ñ\8fднанÑ\8cне Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ñ\88лÑ\8fÑ\85оÑ\9e"
 
-#: ../src/verbs.cpp:2293
-#, fuzzy
+#: ../src/verbs.cpp:2256
 msgid "_Intersection"
-msgstr "Вылучэньне"
+msgstr "_Перасячэньне"
 
-#: ../src/verbs.cpp:2294
-#, fuzzy
+#: ../src/verbs.cpp:2257
 msgid "Create intersection of selected paths"
-msgstr "УÑ\81Ñ\82аÑ\9eлÑ\8fе Ð½Ð¾Ð²Ñ\8bÑ\8f Ð²Ñ\83злÑ\8b Ñ\9e Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ñ\81Ñ\8dгмÑ\8dнÑ\82Ñ\8b"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿ÐµÑ\80аÑ\81Ñ\8fÑ\87Ñ\8dнÑ\8cне Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ñ\88лÑ\8fÑ\85оÑ\9e"
 
-#: ../src/verbs.cpp:2295
+#: ../src/verbs.cpp:2258
 msgid "_Difference"
-msgstr ""
+msgstr "_Рознасьць"
 
-#: ../src/verbs.cpp:2296
+#: ../src/verbs.cpp:2259
 msgid "Create difference of selected paths (bottom minus top)"
-msgstr ""
+msgstr "Стварыць рознасьць вылучаных шляхоў (ніжні мінус верхні)"
 
-#: ../src/verbs.cpp:2297
-#, fuzzy
+#: ../src/verbs.cpp:2260
 msgid "E_xclusion"
-msgstr "Пашырэньне"
+msgstr "_Выключэньне"
 
-#: ../src/verbs.cpp:2298
-msgid ""
-"Create exclusive OR of selected paths (those parts that belong to only one "
-"path)"
-msgstr ""
+#: ../src/verbs.cpp:2261
+msgid "Create exclusive OR of selected paths (those parts that belong to only one path)"
+msgstr "Стварыць выключнае АБО вылучаных шляхоў (тыя часткі, што належаць толькі аднаму шляху)"
 
-#: ../src/verbs.cpp:2299
+#: ../src/verbs.cpp:2262
 msgid "Di_vision"
-msgstr ""
+msgstr "_Дзяленьне"
 
-#: ../src/verbs.cpp:2300
+#: ../src/verbs.cpp:2263
 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
+#: ../src/verbs.cpp:2266
 msgid "Cut _Path"
-msgstr ""
+msgstr "_Адрэзаць шлях"
 
-#: ../src/verbs.cpp:2304
+#: ../src/verbs.cpp:2267
 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
-#, fuzzy
+#: ../src/verbs.cpp:2271
 msgid "Outs_et"
-msgstr "-"
+msgstr "_Расьцягнуць"
 
-#: ../src/verbs.cpp:2309
-#, fuzzy
+#: ../src/verbs.cpp:2272
 msgid "Outset selected paths"
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "РаÑ\81Ñ\8cÑ\86Ñ\8fгнÑ\83Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ñ\88лÑ\8fÑ\85Ñ\96"
 
-#: ../src/verbs.cpp:2311
+#: ../src/verbs.cpp:2274
 msgid "O_utset Path by 1 px"
-msgstr ""
+msgstr "_Расьцягнуць шлях на 1 пкс"
 
-#: ../src/verbs.cpp:2312
-#, fuzzy
+#: ../src/verbs.cpp:2275
 msgid "Outset selected paths by 1 px"
-msgstr "Разлучае вылучаны шлях на падшляхі"
+msgstr "Расьцягнуць вылучаныя шляхі на 1 пкс"
 
-#: ../src/verbs.cpp:2314
+#: ../src/verbs.cpp:2277
 msgid "O_utset Path by 10 px"
-msgstr ""
+msgstr "_Расьцягнуць шлях на 10 пкс"
 
-#: ../src/verbs.cpp:2315
+#: ../src/verbs.cpp:2278
 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
+#: ../src/verbs.cpp:2282
 msgid "I_nset"
-msgstr ""
+msgstr "_Сьціснуць"
 
-#: ../src/verbs.cpp:2320
-#, fuzzy
+#: ../src/verbs.cpp:2283
 msgid "Inset selected paths"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "СÑ\8cÑ\86Ñ\96Ñ\81нÑ\83Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ñ\88лÑ\8fÑ\85Ñ\96"
 
-#: ../src/verbs.cpp:2322
+#: ../src/verbs.cpp:2285
 msgid "I_nset Path by 1 px"
-msgstr ""
+msgstr "_Сьціснуць шлях на 1 пкс"
 
-#: ../src/verbs.cpp:2323
-#, fuzzy
+#: ../src/verbs.cpp:2286
 msgid "Inset selected paths by 1 px"
-msgstr "РазлÑ\83Ñ\87ае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ñ\88лÑ\8fÑ\85 Ð½Ð° Ð¿Ð°Ð´Ñ\88лÑ\8fÑ\85Ñ\96"
+msgstr "СÑ\8cÑ\86Ñ\96Ñ\81нÑ\83Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ñ\88лÑ\8fÑ\85Ñ\96 Ð½Ð° 10 Ð¿ÐºÑ\81"
 
-#: ../src/verbs.cpp:2325
+#: ../src/verbs.cpp:2288
 msgid "I_nset Path by 10 px"
-msgstr ""
+msgstr "_Сьціснуць шлях на 10 пкс"
 
-#: ../src/verbs.cpp:2326
-#, fuzzy
+#: ../src/verbs.cpp:2289
 msgid "Inset selected paths by 10 px"
-msgstr "РазлÑ\83Ñ\87ае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ñ\88лÑ\8fÑ\85 Ð½Ð° Ð¿Ð°Ð´Ñ\88лÑ\8fÑ\85Ñ\96"
+msgstr "СÑ\8cÑ\86Ñ\96Ñ\81нÑ\83Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ñ\88лÑ\8fÑ\85Ñ\96 Ð½Ð° 10 Ð¿ÐºÑ\81"
 
-#: ../src/verbs.cpp:2328
+#: ../src/verbs.cpp:2291
 msgid "D_ynamic Offset"
-msgstr ""
+msgstr "_Дынамічны зрух"
 
-#: ../src/verbs.cpp:2328
+#: ../src/verbs.cpp:2291
 #, fuzzy
 msgid "Create a dynamic offset object"
-msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
+msgstr "<b>Дынамічны зрух</b>, %s на %f pt"
 
-#: ../src/verbs.cpp:2330
+#: ../src/verbs.cpp:2293
 msgid "_Linked Offset"
-msgstr ""
+msgstr "_Злучаны зрух"
 
-#: ../src/verbs.cpp:2331
+#: ../src/verbs.cpp:2294
 msgid "Create a dynamic offset object linked to the original path"
 msgstr ""
 
-#: ../src/verbs.cpp:2333
-#, fuzzy
+#: ../src/verbs.cpp:2296
 msgid "_Stroke to Path"
-msgstr "Рысаваньне штрыхоўкі"
+msgstr "_Контур у шлях"
 
-#: ../src/verbs.cpp:2334
-#, fuzzy
+#: ../src/verbs.cpp:2297
 msgid "Convert selected object's stroke to paths"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80Ñ\8b Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e Ñ\83 Ñ\88лÑ\8fÑ\85Ñ\96"
 
-#: ../src/verbs.cpp:2335
+#: ../src/verbs.cpp:2298
 msgid "Si_mplify"
-msgstr ""
+msgstr "_Спросьціць"
 
-#: ../src/verbs.cpp:2336
+#: ../src/verbs.cpp:2299
 msgid "Simplify selected paths (remove extra nodes)"
-msgstr ""
+msgstr "Спросьціць вылучаныя шляхі (прыбраць лішнія вузлы)"
 
-#: ../src/verbs.cpp:2337
+#: ../src/verbs.cpp:2300
 msgid "_Reverse"
-msgstr ""
+msgstr "_Разьвернуць"
 
-#: ../src/verbs.cpp:2338
+#: ../src/verbs.cpp:2301
 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:2340
+#: ../src/verbs.cpp:2303
 msgid "_Trace Bitmap..."
-msgstr ""
+msgstr "_Абвесьці растар…"
 
-#: ../src/verbs.cpp:2341
+#: ../src/verbs.cpp:2304
 msgid "Create one or more paths from a bitmap by tracing it"
-msgstr ""
+msgstr "Абвёўшы растар стварыць адзін ці болей шляхоў"
 
-#: ../src/verbs.cpp:2342
+#: ../src/verbs.cpp:2305
 msgid "_Make a Bitmap Copy"
-msgstr ""
+msgstr "_Стварыць растравую копію"
 
-#: ../src/verbs.cpp:2343
-#, fuzzy
+#: ../src/verbs.cpp:2306
 msgid "Export selection to a bitmap and insert it into document"
-msgstr "Ð\86мпаÑ\80Ñ\82Ñ\83е ÐºÑ\80опкавÑ\8b Ñ\86Ñ\96 SVG Ð²Ñ\96даÑ\80Ñ\8bÑ\81 Ñ\83 дакумэнт"
+msgstr "ЭкÑ\81паÑ\80Ñ\82аваÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне Ñ\9e Ñ\80аÑ\81Ñ\82аÑ\80 Ñ\96 Ñ\9eÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c Ñ\8fго Ñ\9e дакумэнт"
 
-#: ../src/verbs.cpp:2344
-#, fuzzy
+#: ../src/verbs.cpp:2307
 msgid "_Combine"
-msgstr "Камбінаваць"
+msgstr "_Спалучыць"
 
-#: ../src/verbs.cpp:2345
+#: ../src/verbs.cpp:2308
 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
-#, fuzzy
+#: ../src/verbs.cpp:2311
 msgid "Break _Apart"
-msgstr "Адасобіць"
+msgstr "_Разьбіць"
 
-#: ../src/verbs.cpp:2349
-#, fuzzy
+#: ../src/verbs.cpp:2312
 msgid "Break selected paths into subpaths"
-msgstr "Разлучае вылучаны шлях на падшляхі"
+msgstr "Разьбіць вылучаныя шляхі на падшляхі"
 
-#: ../src/verbs.cpp:2350
+#: ../src/verbs.cpp:2313
 msgid "Rows and Columns..."
-msgstr ""
+msgstr "Радкі й слупкі…"
 
-#: ../src/verbs.cpp:2351
-#, fuzzy
+#: ../src/verbs.cpp:2314
 msgid "Arrange selected objects in a table"
-msgstr "Ð\9fадÑ\8bмае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð²ÐµÑ\80Ñ\85нÑ\96 Ñ\81лой"
+msgstr "УпаÑ\80адкоÑ\9eвае Ð²Ñ\8bбÑ\80анÑ\8bÑ\8f Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ñ\9e Ñ\82аблÑ\96Ñ\86Ñ\8b"
 
 #. Layer
-#: ../src/verbs.cpp:2353
+#: ../src/verbs.cpp:2316
 msgid "_Add Layer..."
-msgstr ""
+msgstr "_Дадаць пласт…"
 
-#: ../src/verbs.cpp:2354
-#, fuzzy
+#: ../src/verbs.cpp:2317
 msgid "Create a new layer"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð·Ð¾Ñ\80кÑ\96 - Ñ\81Ñ\82ваÑ\80ае Ð·Ð¾Ñ\80кÑ\96 Ð¹ Ð¿Ð°Ð»Ñ\96гонÑ\8b"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð½Ð¾Ð²Ñ\8b Ð¿Ð»Ð°Ñ\81Ñ\82"
 
-#: ../src/verbs.cpp:2355
+#: ../src/verbs.cpp:2318
 msgid "Re_name Layer..."
-msgstr ""
+msgstr "_Зьмяніць назву пласта…"
 
-#: ../src/verbs.cpp:2356
+#: ../src/verbs.cpp:2319
 msgid "Rename the current layer"
-msgstr ""
+msgstr "Зьмяніць назву бягучага пласта"
 
-#: ../src/verbs.cpp:2357
+#: ../src/verbs.cpp:2320
 msgid "Switch to Layer Abov_e"
-msgstr ""
+msgstr "Пераключыцца на пласт _вышэй"
 
-#: ../src/verbs.cpp:2358
+#: ../src/verbs.cpp:2321
 msgid "Switch to the layer above the current"
-msgstr ""
+msgstr "Пераключыцца на пласт, вышэйшы за бягучы"
 
-#: ../src/verbs.cpp:2359
+#: ../src/verbs.cpp:2322
 msgid "Switch to Layer Belo_w"
-msgstr ""
+msgstr "Пераключыцца на пласт _ніжэй"
 
-#: ../src/verbs.cpp:2360
+#: ../src/verbs.cpp:2323
 msgid "Switch to the layer below the current"
-msgstr ""
+msgstr "Пераключыцца на пласт, ніжэйшы за бягучы"
 
-#: ../src/verbs.cpp:2361
+#: ../src/verbs.cpp:2324
 msgid "Move Selection to Layer Abo_ve"
-msgstr ""
+msgstr "Перанесьці вылучэньне на _вышэйшы пласт"
 
-#: ../src/verbs.cpp:2362
+#: ../src/verbs.cpp:2325
 msgid "Move selection to the layer above the current"
-msgstr ""
+msgstr "Перанесьці вылучэньне на пласт, вышэйшы за бягучы"
 
-#: ../src/verbs.cpp:2363
+#: ../src/verbs.cpp:2326
 msgid "Move Selection to Layer Bel_ow"
-msgstr ""
+msgstr "Перанесьці вылучэньне на _ніжэйшы пласт"
 
-#: ../src/verbs.cpp:2364
+#: ../src/verbs.cpp:2327
 msgid "Move selection to the layer below the current"
-msgstr ""
+msgstr "Перанесьці вылучэньне на пласт, ніжэйшы за бягучы"
 
-#: ../src/verbs.cpp:2365
+#: ../src/verbs.cpp:2328
 msgid "Layer to _Top"
-msgstr ""
+msgstr "Пласт _угору"
 
-#: ../src/verbs.cpp:2366
+#: ../src/verbs.cpp:2329
 msgid "Raise the current layer to the top"
-msgstr ""
+msgstr "Узьняць бягучы пласт на вяршыню"
 
-#: ../src/verbs.cpp:2367
+#: ../src/verbs.cpp:2330
 msgid "Layer to _Bottom"
-msgstr ""
+msgstr "Пласт _долу"
 
-#: ../src/verbs.cpp:2368
-#, fuzzy
+#: ../src/verbs.cpp:2331
 msgid "Lower the current layer to the bottom"
-msgstr "Апускае вылучаныя аб'екты на ніжні слой"
+msgstr "Апусьціць бягучы пласт на спод"
 
-#: ../src/verbs.cpp:2369
-#, fuzzy
+#: ../src/verbs.cpp:2332
 msgid "_Raise Layer"
-msgstr "Падняць вузел"
+msgstr "_Узьняць пласт"
 
-#: ../src/verbs.cpp:2370
+#: ../src/verbs.cpp:2333
 msgid "Raise the current layer"
-msgstr ""
+msgstr "Узьняць бягучы пласт"
 
-#: ../src/verbs.cpp:2371
-#, fuzzy
+#: ../src/verbs.cpp:2334
 msgid "_Lower Layer"
-msgstr "Апусьціць вузел"
+msgstr "_Апусьціць пласт"
 
-#: ../src/verbs.cpp:2372
+#: ../src/verbs.cpp:2335
 msgid "Lower the current layer"
-msgstr ""
+msgstr "Апусьціць бягучы пласт"
 
-#: ../src/verbs.cpp:2373
+#: ../src/verbs.cpp:2336
 msgid "_Delete Current Layer"
-msgstr ""
+msgstr "_Выдаліць бягучы пласт"
 
-#: ../src/verbs.cpp:2374
+#: ../src/verbs.cpp:2337
 msgid "Delete the current layer"
-msgstr ""
+msgstr "Выдаліць бягучы пласт"
 
 #. Object
-#: ../src/verbs.cpp:2377
+#: ../src/verbs.cpp:2340
 msgid "Rotate _90&#176; CW"
-msgstr ""
+msgstr "Павернуць на 90&#176; ЗС"
 
 #. This is shared between tooltips and statusbar, so they
 #. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2380
-#, fuzzy
+#: ../src/verbs.cpp:2343
 msgid "Rotate selection 90° clockwise"
-msgstr "Ð\9fаваÑ\80оÑ\87вае Ð°Ð±'екÑ\82 Ð½Ð° 90° Ð¿Ð° Ñ\81онÑ\86Ñ\83"
+msgstr "Ð\9fавеÑ\80нÑ\83Ñ\86Ñ\8c Ð½Ð° 90° Ð·Ð° Ñ\81Ñ\82Ñ\80Ñ\8dлкай"
 
-#: ../src/verbs.cpp:2381
+#: ../src/verbs.cpp:2344
 msgid "Rotate 9_0&#176; CCW"
-msgstr ""
+msgstr "Павернуць на 90&#176; СС"
 
 #. This is shared between tooltips and statusbar, so they
 #. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2384
-#, fuzzy
+#: ../src/verbs.cpp:2347
 msgid "Rotate selection 90° counter-clockwise"
-msgstr "Ð\9fаваÑ\80оÑ\87вае Ð°Ð±'екÑ\82 Ð½Ð° 90° Ð¿Ð° Ñ\81онÑ\86Ñ\83"
+msgstr "Ð\9fавеÑ\80нÑ\83Ñ\86Ñ\8c Ð½Ð° 90° Ñ\81Ñ\83пÑ\80аÑ\86Ñ\8c Ñ\81Ñ\82Ñ\80Ñ\8dлкÑ\96"
 
-#: ../src/verbs.cpp:2385
-#, fuzzy
+#: ../src/verbs.cpp:2348
 msgid "Remove _Transformations"
-msgstr "Выдаляе трансфармаваньні"
+msgstr "_Прыбраць ператварэньні"
 
-#: ../src/verbs.cpp:2386
+#: ../src/verbs.cpp:2349
 msgid "Remove transformations from object"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð· Ð°Ð±'екта"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\96Ñ\80ае Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cнÑ\96 Ð°Ð±Ê¼екта"
 
-#: ../src/verbs.cpp:2387
-#, fuzzy
+#: ../src/verbs.cpp:2350
 msgid "_Object to Path"
-msgstr "Трансфармаваньне аб'екта"
+msgstr "_Абʼект у шлях"
 
-#: ../src/verbs.cpp:2388
-#, fuzzy
+#: ../src/verbs.cpp:2351
 msgid "Convert selected object to path"
-msgstr "Ð\90пÑ\83Ñ\81кае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð½Ð° Ð½Ñ\96жнÑ\96 Ñ\81лой"
+msgstr "Ð\9fеÑ\80аÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±Ê¼ÐµÐºÑ\82 Ñ\83 Ñ\88лÑ\8fÑ\85"
 
-#: ../src/verbs.cpp:2389
+#: ../src/verbs.cpp:2352
+#, fuzzy
 msgid "_Flow into Frame"
-msgstr ""
+msgstr "Выразаць бягучы кадр"
 
-#: ../src/verbs.cpp:2390
-msgid ""
-"Put text into a frame (path or shape), creating a flowed text linked to the "
-"frame object"
+#: ../src/verbs.cpp:2353
+msgid "Put text into a frame (path or shape), creating a flowed text linked to the frame object"
 msgstr ""
 
-#: ../src/verbs.cpp:2391
+#: ../src/verbs.cpp:2354
 msgid "_Unflow"
 msgstr ""
 
-#: ../src/verbs.cpp:2392
+#: ../src/verbs.cpp:2355
 msgid "Remove text from frame (creates a single-line text object)"
-msgstr ""
+msgstr "Прыбраць тэкст з рамкі (стварае аднарадковы тэкставы абʼект)"
 
-#: ../src/verbs.cpp:2393
-#, fuzzy
+#: ../src/verbs.cpp:2356
 msgid "_Convert to Text"
-msgstr "Канвэртуе аб'ект у дугу"
+msgstr "_Ператварыць у тэкст"
 
-#: ../src/verbs.cpp:2394
+#: ../src/verbs.cpp:2357
 msgid "Convert flowed text to regular text object (preserves appearance)"
-msgstr ""
+msgstr "Ператварыць плыўны тэкст у звычайны тэкставы абʼект (захоўвае выгляд)"
 
-#: ../src/verbs.cpp:2396
-#, fuzzy
+#: ../src/verbs.cpp:2359
 msgid "Flip _Horizontal"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\9fеÑ\80акÑ\83лÑ\96Ñ\86Ñ\8c Ð¿Ð° _гаÑ\80Ñ\8bзанÑ\82алÑ\96"
 
-#: ../src/verbs.cpp:2396
+#: ../src/verbs.cpp:2359
 msgid "Flip selected objects horizontally"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±'екÑ\82 Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\9fеÑ\80акÑ\83лÑ\8cвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±Ê¼ÐµÐºÑ\82 Ð¿Ð° Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\96"
 
-#: ../src/verbs.cpp:2399
-#, fuzzy
+#: ../src/verbs.cpp:2362
 msgid "Flip _Vertical"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "Ð\9fеÑ\80акÑ\83лÑ\96Ñ\86Ñ\8c Ð¿Ð° _вÑ\8dÑ\80Ñ\82Ñ\8bкалÑ\96"
 
-#: ../src/verbs.cpp:2399
+#: ../src/verbs.cpp:2362
 msgid "Flip selected objects vertically"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80оÑ\9eвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "Ð\9fеÑ\80акÑ\83лÑ\8cвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\8b Ð¿Ð° Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\96"
 
-#: ../src/verbs.cpp:2402
+#: ../src/verbs.cpp:2365
 msgid "Apply mask to selection (using the topmost object as mask)"
-msgstr ""
-
-#: ../src/verbs.cpp:2404
-#, fuzzy
-msgid "Edit mask"
-msgstr "Захаваць як:"
+msgstr "Ужыць маску да вылучэньня (ужываючы найвышэйшы абʼект як маску)"
 
-#: ../src/verbs.cpp:2405 ../src/verbs.cpp:2411
-#, fuzzy
+#: ../src/verbs.cpp:2366
+#: ../src/verbs.cpp:2370
 msgid "_Release"
-msgstr "Падняць"
+msgstr "_Вызваліць"
 
-#: ../src/verbs.cpp:2406
-#, fuzzy
+#: ../src/verbs.cpp:2367
 msgid "Remove mask from selection"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cнÑ\96"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð¼Ð°Ñ\81кÑ\83 Ð· Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f"
 
-#: ../src/verbs.cpp:2408
-msgid ""
-"Apply clipping path to selection (using the topmost object as clipping path)"
+#: ../src/verbs.cpp:2369
+msgid "Apply clipping path to selection (using the topmost object as clipping path)"
 msgstr ""
 
-#: ../src/verbs.cpp:2410 ../src/widgets/toolbox.cpp:1222
-#, fuzzy
-msgid "Edit clipping path"
-msgstr "Раўнае аб'ект"
-
-#: ../src/verbs.cpp:2412
+#: ../src/verbs.cpp:2371
 msgid "Remove clipping path from selection"
 msgstr ""
 
 #. Tools
-#: ../src/verbs.cpp:2415
+#: ../src/verbs.cpp:2374
 msgid "Select"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c"
 
-#: ../src/verbs.cpp:2416
-#, fuzzy
+#: ../src/verbs.cpp:2375
 msgid "Select and transform objects"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f - Ð²Ñ\8bлÑ\83Ñ\87ае Ð¹ Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80мÑ\83е Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне Ð¹ Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
 
-#: ../src/verbs.cpp:2417
-#, fuzzy
+#: ../src/verbs.cpp:2376
 msgid "Node Edit"
-msgstr "РÑ\8dдагаваÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fÑ\80аÑ\9eка Ð²Ñ\83зла"
 
-#: ../src/verbs.cpp:2418
+#: ../src/verbs.cpp:2377
 msgid "Edit paths by nodes"
-msgstr ""
+msgstr "Зьмяненьне вузлоў шляхоў "
 
-#: ../src/verbs.cpp:2420
+#: ../src/verbs.cpp:2379
 msgid "Tweak objects by sculpting or painting"
-msgstr ""
+msgstr "Папраўленьне абʼектаў рысаваньнем або ляпленьнем"
 
-#: ../src/verbs.cpp:2422
-#, fuzzy
+#: ../src/verbs.cpp:2381
 msgid "Create rectangles and squares"
-msgstr ""
-"Інструмэнт прамакутніка - стварае прамакутнікі й квадраты з магчымымі "
-"закругленымі кутамі"
+msgstr "Стварэньне простакутнікаў і квадратаў"
 
-#: ../src/verbs.cpp:2424
-#, fuzzy
+#: ../src/verbs.cpp:2383
 msgid "Create 3D boxes"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ñ\82Ñ\80оÑ\85меÑ\80нÑ\8bÑ\85 Ñ\81кÑ\80Ñ\8bнÑ\8c"
 
-#: ../src/verbs.cpp:2426
-#, fuzzy
+#: ../src/verbs.cpp:2385
 msgid "Create circles, ellipses, and arcs"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð´Ñ\83гÑ\96 - Ñ\81Ñ\82ваÑ\80ае ÐºÑ\80Ñ\83гÑ\96, Ñ\8dлÑ\96пÑ\81Ñ\8b Ð¹ Ð´Ñ\83гÑ\96"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð°ÐºÑ\80Ñ\83жнаÑ\81Ñ\8cÑ\86Ñ\8fÑ\9e, Ñ\8dлÑ\96пÑ\81аÑ\9e Ñ\96 Ð´Ñ\83г"
 
-#: ../src/verbs.cpp:2428
-#, fuzzy
+#: ../src/verbs.cpp:2387
 msgid "Create stars and polygons"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð·Ð¾Ñ\80кÑ\96 - Ñ\81Ñ\82ваÑ\80ае Ð·Ð¾Ñ\80кÑ\96 Ð¹ Ð¿Ð°Ð»Ñ\96гонÑ\8b"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð·Ð¾Ñ\80ак Ñ\96 Ñ\88маÑ\82кÑ\83Ñ\82нÑ\96каÑ\9e"
 
-#: ../src/verbs.cpp:2430
-#, fuzzy
+#: ../src/verbs.cpp:2389
 msgid "Create spirals"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ñ\81Ñ\8cпÑ\96Ñ\80алÑ\8fÑ\9e"
 
-#: ../src/verbs.cpp:2432
-#, fuzzy
+#: ../src/verbs.cpp:2391
 msgid "Draw freehand lines"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð°Ð»Ð¾Ñ\9eка - Ñ\80Ñ\8bÑ\81Ñ\83е Ð²Ð¾Ð»Ñ\8cнÑ\8bÑ\8f Ð´Ñ\83гÑ\96 Ð¹ Ð¿Ñ\80оÑ\81Ñ\82Ñ\8bÑ\8f Ñ\80Ñ\8bÑ\81Ñ\8b"
+msgstr "РÑ\8bÑ\81аванÑ\8cне Ð»Ñ\96нÑ\96й Ð°Ð´ Ñ\80Ñ\83кÑ\96"
 
-#: ../src/verbs.cpp:2434
-#, fuzzy
+#: ../src/verbs.cpp:2393
 msgid "Draw Bezier curves and straight lines"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð°Ð»Ð¾Ñ\9eка - Ñ\80Ñ\8bÑ\81Ñ\83е Ð²Ð¾Ð»Ñ\8cнÑ\8bÑ\8f Ð´Ñ\83гÑ\96 Ð¹ Ð¿Ñ\80оÑ\81Ñ\82Ñ\8bÑ\8f Ñ\80Ñ\8bÑ\81Ñ\8b"
+msgstr "РÑ\8bÑ\81аванÑ\8cне ÐºÑ\80Ñ\8bвÑ\8bÑ\85 Ð\91Ñ\8dзÑ\8cе Ð¹ Ð¿Ñ\80амÑ\8bÑ\85 Ð»Ñ\96нÑ\96й"
 
-#: ../src/verbs.cpp:2436
-#, fuzzy
+#: ../src/verbs.cpp:2395
 msgid "Draw calligraphic or brush strokes"
-msgstr "Ð\9aалÑ\96гÑ\80аÑ\84Ñ\96Ñ\87наÑ\8f Ñ\80Ñ\8bÑ\81а"
+msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9e, ÐºÐ°Ð»Ñ\96Ò\91Ñ\80аÑ\84Ñ\96Ñ\87нÑ\8bÑ\85 Ñ\86Ñ\96 Ð¿Ñ\8dндзлем"
 
-#: ../src/verbs.cpp:2438
-#, fuzzy
+#: ../src/verbs.cpp:2397
 msgid "Create and edit text objects"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ñ\82Ñ\8dкÑ\81Ñ\82а - Ñ\81Ñ\82ваÑ\80ае Ñ\96 Ñ\80Ñ\8dдагÑ\83е Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð¹ Ð·Ñ\8cмÑ\8fненÑ\8cне Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\85 Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
 
-#: ../src/verbs.cpp:2440
-#, fuzzy
+#: ../src/verbs.cpp:2399
 msgid "Create and edit gradients"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ñ\82Ñ\8dкÑ\81Ñ\82а - Ñ\81Ñ\82ваÑ\80ае Ñ\96 Ñ\80Ñ\8dдагÑ\83е Ñ\82Ñ\8dкÑ\81Ñ\82авÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð¹ Ð·Ñ\8cмÑ\8fненÑ\8cне Ò\91Ñ\80адÑ\8bенÑ\82аÑ\9e"
 
-#: ../src/verbs.cpp:2442
-#, fuzzy
+#: ../src/verbs.cpp:2401
 msgid "Zoom in or out"
-msgstr "Ð\9fавÑ\8fлÑ\96Ñ\87вае Ð¼Ð°Ñ\88Ñ\82аб Ñ\80Ñ\8bÑ\81Ñ\83нка"
+msgstr "Ð\9dаблÑ\96жÑ\8dнÑ\8cне Ð¹ Ð°Ð´Ð´Ð°Ð»ÐµÐ½Ñ\8cне"
 
-#: ../src/verbs.cpp:2444
-#, fuzzy
+#: ../src/verbs.cpp:2403
 msgid "Pick colors from image"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð¿Ñ\96пеÑ\82кÑ\96 - Ð±Ñ\8fÑ\80Ñ\8d ÐºÐ¾Ð»ÐµÑ\80 Ð· відарыса"
+msgstr "Ð\92Ñ\8bбаÑ\80 ÐºÐ¾Ð»ÐµÑ\80аÑ\9e Ð·Ñ\8c відарыса"
 
-#: ../src/verbs.cpp:2446
-#, fuzzy
+#: ../src/verbs.cpp:2405
 msgid "Create diagram connectors"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "СÑ\82ваÑ\80Ñ\8dнÑ\8cне Ð·Ð»Ñ\83Ñ\87алÑ\8cнÑ\96каÑ\9e Ð´Ñ\8bÑ\8fÒ\91Ñ\80ам"
 
-#: ../src/verbs.cpp:2448
+#: ../src/verbs.cpp:2407
 msgid "Fill bounded areas"
-msgstr ""
-
-#: ../src/verbs.cpp:2449
-#, fuzzy
-msgid "LPE Edit"
-msgstr "Рэдагаваньне"
-
-#: ../src/verbs.cpp:2450
-#, fuzzy
-msgid "Edit Live Path Effect parameters"
-msgstr "Стыль штрыхоўкі"
-
-#: ../src/verbs.cpp:2452
-#, fuzzy
-msgid "Erase existing paths"
-msgstr "Адасобіць"
+msgstr "Запаўненьне абмежаваных абласьцей"
 
 #. Tool prefs
-#: ../src/verbs.cpp:2454
+#: ../src/verbs.cpp:2410
 msgid "Selector Preferences"
-msgstr ""
+msgstr "Настаўленьні вылучальніка"
 
-#: ../src/verbs.cpp:2455
+#: ../src/verbs.cpp:2411
 msgid "Open Preferences for the Selector tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Вылучальнік»"
 
-#: ../src/verbs.cpp:2456
-#, fuzzy
+#: ../src/verbs.cpp:2412
 msgid "Node Tool Preferences"
-msgstr "Ð\9fеÑ\80авагÑ\96 Ð°Ð´Ñ\81Ñ\83Ñ\82нага Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82а"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82а Â«Ð\92Ñ\83злÑ\8b»"
 
-#: ../src/verbs.cpp:2457
+#: ../src/verbs.cpp:2413
 msgid "Open Preferences for the Node tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Вузлы»"
 
-#: ../src/verbs.cpp:2458
-#, fuzzy
+#: ../src/verbs.cpp:2414
 msgid "Tweak Tool Preferences"
-msgstr "Ð\9fеÑ\80авагÑ\96 Ð°Ð´Ñ\81Ñ\83Ñ\82нага Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82а"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82а Â«Ð\9aаÑ\80Ñ\8dкÑ\86Ñ\8bÑ\8f»"
 
-#: ../src/verbs.cpp:2459
+#: ../src/verbs.cpp:2415
 msgid "Open Preferences for the Tweak tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Карэкцыя»"
 
-#: ../src/verbs.cpp:2460
-#, fuzzy
+#: ../src/verbs.cpp:2416
 msgid "Rectangle Preferences"
-msgstr "ЭлемÑ\8dнÑ\82 Ð·Ñ\8cÑ\8fÑ\9eлÑ\8fеÑ\86Ñ\86а Ñ\81паÑ\81Ñ\8bлкай"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ð¿Ñ\80аÑ\81Ñ\82акÑ\83Ñ\82нÑ\96ка"
 
-#: ../src/verbs.cpp:2461
+#: ../src/verbs.cpp:2417
 msgid "Open Preferences for the Rectangle tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Прастакутнік»"
 
-#: ../src/verbs.cpp:2462
-#, fuzzy
+#: ../src/verbs.cpp:2418
 msgid "3D Box Preferences"
-msgstr "ЭлемÑ\8dнÑ\82 Ð·Ñ\8cÑ\8fÑ\9eлÑ\8fеÑ\86Ñ\86а Ñ\81паÑ\81Ñ\8bлкай"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ñ\82Ñ\80оÑ\85меÑ\80най Ñ\81кÑ\80Ñ\8bнÑ\96"
 
-#: ../src/verbs.cpp:2463
+#: ../src/verbs.cpp:2419
 msgid "Open Preferences for the 3D Box tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Трохмерная скрыня»"
 
-#: ../src/verbs.cpp:2464
-#, fuzzy
+#: ../src/verbs.cpp:2420
 msgid "Ellipse Preferences"
-msgstr "ЭлемÑ\8dнÑ\82 Ð·Ñ\8cÑ\8fÑ\9eлÑ\8fеÑ\86Ñ\86а Ñ\81паÑ\81Ñ\8bлкай"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ñ\8dлÑ\96пÑ\81а"
 
-#: ../src/verbs.cpp:2465
+#: ../src/verbs.cpp:2421
 msgid "Open Preferences for the Ellipse tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Эліпс»"
 
-#: ../src/verbs.cpp:2466
-#, fuzzy
+#: ../src/verbs.cpp:2422
 msgid "Star Preferences"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86і зоркі"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cні зоркі"
 
-#: ../src/verbs.cpp:2467
+#: ../src/verbs.cpp:2423
 msgid "Open Preferences for the Star tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Зорка»"
 
-#: ../src/verbs.cpp:2468
-#, fuzzy
+#: ../src/verbs.cpp:2424
 msgid "Spiral Preferences"
-msgstr "УлаÑ\81Ñ\8cÑ\86Ñ\96ваÑ\81Ñ\8cÑ\86Ñ\96 Ñ\81Ñ\8cпÑ\96Ñ\80алÑ\96"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ñ\81Ñ\8cпÑ\96Ñ\80алÑ\8fÑ\9e"
 
-#: ../src/verbs.cpp:2469
+#: ../src/verbs.cpp:2425
 msgid "Open Preferences for the Spiral tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Сьпіраль»"
 
-#: ../src/verbs.cpp:2470
-#, fuzzy
+#: ../src/verbs.cpp:2426
 msgid "Pencil Preferences"
-msgstr "ЭлемÑ\8dнÑ\82 Ð·Ñ\8cÑ\8fÑ\9eлÑ\8fеÑ\86Ñ\86а Ñ\81паÑ\81Ñ\8bлкай"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ð°Ð»Ð¾Ñ\9eка"
 
-#: ../src/verbs.cpp:2471
+#: ../src/verbs.cpp:2427
 msgid "Open Preferences for the Pencil tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Аловак»"
 
-#: ../src/verbs.cpp:2472
-#, fuzzy
+#: ../src/verbs.cpp:2428
 msgid "Pen Preferences"
-msgstr "ЭлемÑ\8dнÑ\82 Ð·Ñ\8cÑ\8fÑ\9eлÑ\8fеÑ\86Ñ\86а Ñ\81паÑ\81Ñ\8bлкай"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ð¿Ñ\8fÑ\80а"
 
-#: ../src/verbs.cpp:2473
+#: ../src/verbs.cpp:2429
 msgid "Open Preferences for the Pen tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Пяро»"
 
-#: ../src/verbs.cpp:2474
-#, fuzzy
+#: ../src/verbs.cpp:2430
 msgid "Calligraphic Preferences"
-msgstr "Ð\9aалÑ\96гÑ\80аÑ\84Ñ\96Ñ\87наÑ\8f Ñ\80Ñ\8bÑ\81а"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 ÐºÐ°Ð»Ñ\96Ò\91Ñ\80аÑ\84Ñ\96Ñ\96"
 
-#: ../src/verbs.cpp:2475
+#: ../src/verbs.cpp:2431
 msgid "Open Preferences for the Calligraphy tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Каліґрафія»"
 
-#: ../src/verbs.cpp:2476
-#, fuzzy
+#: ../src/verbs.cpp:2432
 msgid "Text Preferences"
-msgstr "ЭлемÑ\8dнÑ\82 Ð·Ñ\8cÑ\8fÑ\9eлÑ\8fеÑ\86Ñ\86а Ñ\81паÑ\81Ñ\8bлкай"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ñ\82Ñ\8dкÑ\81Ñ\82Ñ\83"
 
-#: ../src/verbs.cpp:2477
+#: ../src/verbs.cpp:2433
 msgid "Open Preferences for the Text tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Тэкст»"
 
-#: ../src/verbs.cpp:2478
-#, fuzzy
+#: ../src/verbs.cpp:2434
 msgid "Gradient Preferences"
-msgstr "Ð\9fеÑ\80авагÑ\96 Ð°Ð´Ñ\81Ñ\83Ñ\82нага Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнта"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ò\91Ñ\80адÑ\8bента"
 
-#: ../src/verbs.cpp:2479
+#: ../src/verbs.cpp:2435
 msgid "Open Preferences for the Gradient tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Ґрадыент»"
 
-#: ../src/verbs.cpp:2480
-#, fuzzy
+#: ../src/verbs.cpp:2436
 msgid "Zoom Preferences"
-msgstr "ЭлемÑ\8dнÑ\82 Ð·Ñ\8cÑ\8fÑ\9eлÑ\8fеÑ\86Ñ\86а Ñ\81паÑ\81Ñ\8bлкай"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ð¼Ð°Ñ\88Ñ\82абÑ\83"
 
-#: ../src/verbs.cpp:2481
+#: ../src/verbs.cpp:2437
 msgid "Open Preferences for the Zoom tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Маштаб»"
 
-#: ../src/verbs.cpp:2482
-#, fuzzy
+#: ../src/verbs.cpp:2438
 msgid "Dropper Preferences"
-msgstr "ЭлемÑ\8dнÑ\82 Ð·Ñ\8cÑ\8fÑ\9eлÑ\8fеÑ\86Ñ\86а Ñ\81паÑ\81Ñ\8bлкай"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ð¿Ñ\96пеÑ\82кÑ\96"
 
-#: ../src/verbs.cpp:2483
+#: ../src/verbs.cpp:2439
 msgid "Open Preferences for the Dropper tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Піпетка»"
 
-#: ../src/verbs.cpp:2484
-#, fuzzy
+#: ../src/verbs.cpp:2440
 msgid "Connector Preferences"
-msgstr "Ð\9fеÑ\80авагÑ\96 Ð°Ð´Ñ\81Ñ\83Ñ\82нага Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82а"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Ð·Ð»Ñ\83Ñ\87алÑ\8cнÑ\96ка"
 
-#: ../src/verbs.cpp:2485
+#: ../src/verbs.cpp:2441
 msgid "Open Preferences for the Connector tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Злучальнік»"
 
-#: ../src/verbs.cpp:2486
-#, fuzzy
+#: ../src/verbs.cpp:2442
 msgid "Paint Bucket Preferences"
-msgstr "Ð\9fеÑ\80авагÑ\96 Ð°Ð´Ñ\81Ñ\83Ñ\82нага Ñ\96нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82а"
+msgstr "Ð\9dаÑ\81Ñ\82аÑ\9eленÑ\8cнÑ\96 Â«Ð\92Ñ\8fдÑ\80а»"
 
-#: ../src/verbs.cpp:2487
+#: ../src/verbs.cpp:2443
 msgid "Open Preferences for the Paint Bucket tool"
-msgstr ""
-
-#: ../src/verbs.cpp:2488
-#, fuzzy
-msgid "Eraser Preferences"
-msgstr "Уласьцівасьці зоркі"
-
-#: ../src/verbs.cpp:2489
-msgid "Open Preferences for the Eraser tool"
-msgstr ""
+msgstr "Адкрыць настаўленьні інструмэнта «Вядро»"
 
 #. Zoom/View
-#: ../src/verbs.cpp:2492
-#, fuzzy
+#: ../src/verbs.cpp:2446
 msgid "Zoom In"
-msgstr "Ð\9cаÑ\88Ñ\82абаванÑ\8cне"
+msgstr "Ð\9dаблÑ\96зÑ\96Ñ\86Ñ\8c"
 
-#: ../src/verbs.cpp:2492
-#, fuzzy
+#: ../src/verbs.cpp:2446
 msgid "Zoom in"
-msgstr "Ð\9cаÑ\88Ñ\82абаваньне"
+msgstr "Ð\9dаблÑ\96жÑ\8dньне"
 
-#: ../src/verbs.cpp:2493
-#, fuzzy
+#: ../src/verbs.cpp:2447
 msgid "Zoom Out"
-msgstr "Ð\9cаÑ\88Ñ\82абаванÑ\8cне"
+msgstr "Ð\90ддалÑ\96Ñ\86Ñ\8c"
 
-#: ../src/verbs.cpp:2493
-#, fuzzy
+#: ../src/verbs.cpp:2447
 msgid "Zoom out"
-msgstr "Ð\9fамÑ\8fнÑ\88ае Ð¼Ð°Ñ\88Ñ\82аб Ñ\80Ñ\8bÑ\81Ñ\83нка"
+msgstr "Ð\90ддаленÑ\8cне"
 
-#: ../src/verbs.cpp:2494
+#: ../src/verbs.cpp:2448
 msgid "_Rulers"
-msgstr ""
+msgstr "_Лінейкі"
 
-#: ../src/verbs.cpp:2494
+#: ../src/verbs.cpp:2448
 msgid "Show or hide the canvas rulers"
-msgstr ""
+msgstr "Паказваць ці не лінейкі палатна"
 
-#: ../src/verbs.cpp:2495
+#: ../src/verbs.cpp:2449
 msgid "Scroll_bars"
-msgstr ""
+msgstr "_Палосы пракручваньня"
 
-#: ../src/verbs.cpp:2495
+#: ../src/verbs.cpp:2449
 msgid "Show or hide the canvas scrollbars"
-msgstr ""
+msgstr "Паказваць ці не палосы пракручваньня палатна"
 
-#: ../src/verbs.cpp:2496
-#, fuzzy
+#: ../src/verbs.cpp:2450
 msgid "_Grid"
-msgstr "Сетка"
+msgstr "_Сетка"
 
-#: ../src/verbs.cpp:2496
-#, fuzzy
+#: ../src/verbs.cpp:2450
 msgid "Show or hide the grid"
-msgstr "Ð\9fаказаÑ\86Ñ\8c Ð¼ÐµÐ¶Ñ\8b"
+msgstr "ХаваÑ\86Ñ\8c Ñ\86Ñ\96 Ð¿Ð°ÐºÐ°Ð·Ð²Ð°Ñ\86Ñ\8c Ñ\81еÑ\82кÑ\83"
 
-#: ../src/verbs.cpp:2497
-#, fuzzy
+#: ../src/verbs.cpp:2451
 msgid "G_uides"
-msgstr "Кіруючыя"
+msgstr "_Накіроўныя"
 
-#: ../src/verbs.cpp:2497
+#: ../src/verbs.cpp:2451
 msgid "Show or hide guides (drag from a ruler to create a guide)"
-msgstr ""
+msgstr "Хаваць ці паказваць накіроўныя (пацягні зь лінейкі, каб стварыць накіроўную)"
 
-#: ../src/verbs.cpp:2499
+#: ../src/verbs.cpp:2453
 msgid "Nex_t Zoom"
-msgstr ""
+msgstr "_Наступны маштаб"
 
-#: ../src/verbs.cpp:2499
+#: ../src/verbs.cpp:2453
 msgid "Next zoom (from the history of zooms)"
-msgstr ""
+msgstr "Наступны маштаб (з гісторыі маштабаў)"
 
-#: ../src/verbs.cpp:2501
+#: ../src/verbs.cpp:2455
 msgid "Pre_vious Zoom"
-msgstr ""
+msgstr "_Папярэдні маштаб"
 
-#: ../src/verbs.cpp:2501
+#: ../src/verbs.cpp:2455
 msgid "Previous zoom (from the history of zooms)"
-msgstr ""
+msgstr "Папярэдні маштаб (з гісторыі маштабаў)"
 
-#: ../src/verbs.cpp:2503
-#, fuzzy
+#: ../src/verbs.cpp:2457
 msgid "Zoom 1:_1"
-msgstr "Маштабаваньне"
+msgstr "Маштаб 1:_1"
 
-#: ../src/verbs.cpp:2503
-#, fuzzy
+#: ../src/verbs.cpp:2457
 msgid "Zoom to 1:1"
-msgstr "УÑ\81Ñ\82алÑ\91Ñ\9eвае Ð¼Ð°Ñ\88Ñ\82аб 1:1"
+msgstr "Ð\9cаÑ\88Ñ\82абаваÑ\86Ñ\8c 1:1"
 
-#: ../src/verbs.cpp:2505
-#, fuzzy
+#: ../src/verbs.cpp:2459
 msgid "Zoom 1:_2"
-msgstr "Маштабаваньне"
+msgstr "Маштаб 1:_2"
 
-#: ../src/verbs.cpp:2505
-#, fuzzy
+#: ../src/verbs.cpp:2459
 msgid "Zoom to 1:2"
-msgstr "УÑ\81Ñ\82алÑ\91Ñ\9eвае Ð¼Ð°Ñ\88Ñ\82аб 2:1"
+msgstr "Ð\9cаÑ\88Ñ\82абаваÑ\86Ñ\8c 1:2"
 
-#: ../src/verbs.cpp:2507
-#, fuzzy
+#: ../src/verbs.cpp:2461
 msgid "_Zoom 2:1"
-msgstr "Маштабаваньне"
+msgstr "_Маштаб 2:1"
 
-#: ../src/verbs.cpp:2507
-#, fuzzy
+#: ../src/verbs.cpp:2461
 msgid "Zoom to 2:1"
-msgstr "УÑ\81Ñ\82алÑ\91Ñ\9eвае Ð¼Ð°Ñ\88Ñ\82аб 2:1"
+msgstr "Ð\9cаÑ\88Ñ\82абаваÑ\86Ñ\8c 2:1"
 
-#: ../src/verbs.cpp:2510
+#: ../src/verbs.cpp:2464
 msgid "_Fullscreen"
-msgstr ""
+msgstr "На поўны _экран"
 
-#: ../src/verbs.cpp:2510
+#: ../src/verbs.cpp:2464
 msgid "Stretch this document window to full screen"
-msgstr ""
+msgstr "Расьцягнуць вакно гэтага дакумэнта на ўвесь экран"
 
-#: ../src/verbs.cpp:2513
-#, fuzzy
+#: ../src/verbs.cpp:2467
 msgid "Duplic_ate Window"
-msgstr "Падвоіць вузел"
+msgstr "_Дубляваць вакно"
 
-#: ../src/verbs.cpp:2513
+#: ../src/verbs.cpp:2467
 msgid "Open a new window with the same document"
-msgstr ""
+msgstr "Адкрыць новае вакно з тым жа самым дакумэнтам"
 
-#: ../src/verbs.cpp:2515
+#: ../src/verbs.cpp:2469
 #, fuzzy
 msgid "_New View Preview"
-msgstr "Стварыць папярэдні прагляд"
+msgstr "Ð\9dемагÑ\87Ñ\8bма Ñ\81тварыць папярэдні прагляд"
 
-#: ../src/verbs.cpp:2516
+#: ../src/verbs.cpp:2470
 #, fuzzy
 msgid "New View Preview"
-msgstr "Стварыць папярэдні прагляд"
+msgstr "Ð\9dемагÑ\87Ñ\8bма Ñ\81тварыць папярэдні прагляд"
 
 #. "view_new_preview"
-#: ../src/verbs.cpp:2518
-msgid "_Normal"
-msgstr ""
-
-#: ../src/verbs.cpp:2519
-msgid "Switch to normal display mode"
-msgstr ""
-
-#: ../src/verbs.cpp:2520
-#, fuzzy
-msgid "No _Filters"
-msgstr "Фільтары"
+#: ../src/verbs.cpp:2472
+msgid "_Normal"
+msgstr "_Нармальны"
 
-#: ../src/verbs.cpp:2521
-msgid "Switch to normal display without filters"
-msgstr ""
+#: ../src/verbs.cpp:2473
+msgid "Switch to normal display mode"
+msgstr "Пераключыцца на нармальны рэжым паказу"
 
-#: ../src/verbs.cpp:2522
-#, fuzzy
+#: ../src/verbs.cpp:2474
 msgid "_Outline"
-msgstr "Паказаць контур"
+msgstr "_Абрысы"
 
-#: ../src/verbs.cpp:2523
+#: ../src/verbs.cpp:2475
 msgid "Switch to outline (wireframe) display mode"
-msgstr ""
+msgstr "Пераключыцца на абрысавы (каркасны) рэжым паказу"
 
-#: ../src/verbs.cpp:2524
-#, fuzzy
+#: ../src/verbs.cpp:2476
 msgid "_Toggle"
-msgstr "Кут"
+msgstr "_Пераключыць"
 
-#: ../src/verbs.cpp:2525
+#: ../src/verbs.cpp:2477
 msgid "Toggle between normal and outline display modes"
-msgstr ""
+msgstr "Пераключэньне між нармальным і абрысавым рэжымамі паказу"
 
-#: ../src/verbs.cpp:2527
+#: ../src/verbs.cpp:2479
 msgid "Color-managed view"
-msgstr ""
+msgstr "Прагляд з кіраваньнем колерамі"
 
-#: ../src/verbs.cpp:2528
+#: ../src/verbs.cpp:2480
 msgid "Toggle color-managed display for this document window"
 msgstr ""
 
-#: ../src/verbs.cpp:2530
-#, fuzzy
+#: ../src/verbs.cpp:2482
 msgid "Ico_n Preview..."
-msgstr "Ð\9fеÑ\80адпÑ\80аглÑ\8fд Ð´Ñ\80Ñ\83кÑ\83"
+msgstr "Ð\90глÑ\8fд _знаÑ\87кÑ\96â\80¦"
 
-#: ../src/verbs.cpp:2531
+#: ../src/verbs.cpp:2483
 msgid "Open a window to preview objects at different icon resolutions"
-msgstr ""
+msgstr "Адкрыць вакно для агляду абʼектаў з рознымі разрозьненьнямі значкі"
 
-#: ../src/verbs.cpp:2533
-#, fuzzy
+#: ../src/verbs.cpp:2485
 msgid "Zoom to fit page in window"
-msgstr "Ð\97апаÑ\9eнÑ\8fе Ð°ÐºÐ½Ð¾ Ñ\83Ñ\81Ñ\91й Ñ\81Ñ\82аÑ\80онкай"
+msgstr "ТакÑ\96 Ð¼Ð°Ñ\88Ñ\82аб, Ñ\88Ñ\82о Ñ\81Ñ\82аÑ\80онка Ñ\86алкам Ð·Ñ\8cмÑ\8fÑ\88Ñ\87аеÑ\86Ñ\86а Ñ\9e Ð²Ð°ÐºÐ½Ðµ"
 
-#: ../src/verbs.cpp:2534
+#: ../src/verbs.cpp:2486
 msgid "Page _Width"
-msgstr ""
+msgstr "_Шырыня старонкі"
 
-#: ../src/verbs.cpp:2535
+#: ../src/verbs.cpp:2487
 msgid "Zoom to fit page width in window"
-msgstr ""
+msgstr "Зьмяніць маштаб, каб старонка па шырыні цалкам зьмяшчалася ў вакне"
 
-#: ../src/verbs.cpp:2537
-#, fuzzy
+#: ../src/verbs.cpp:2489
 msgid "Zoom to fit drawing in window"
-msgstr "Запаўняе рысаваньнем усё акно"
+msgstr "Зьмяніць маштаб, каб рысунак цалкам зьмяшчаўся ў вакне"
 
-#: ../src/verbs.cpp:2539
-#, fuzzy
+#: ../src/verbs.cpp:2491
 msgid "Zoom to fit selection in window"
-msgstr "Запаўняе вылучэньнем усё акно"
+msgstr "Зьмяніць маштаб, каб вылучэньне цалкам зьмяшчалася ў вакне"
 
 #. Dialogs
-#: ../src/verbs.cpp:2542
+#: ../src/verbs.cpp:2494
 msgid "In_kscape Preferences..."
-msgstr ""
+msgstr "_Настаўленьні Inkscape…"
 
-#: ../src/verbs.cpp:2543
+#: ../src/verbs.cpp:2495
 msgid "Edit global Inkscape preferences"
-msgstr ""
+msgstr "Зьмяніць глябальныя настаўленьні Inkscape"
 
-#: ../src/verbs.cpp:2544
-#, fuzzy
+#: ../src/verbs.cpp:2496
 msgid "_Document Properties..."
-msgstr "Уласьцівасьці прамакутніка"
+msgstr "Уласьцівасьці _дакумэнта…"
 
-#: ../src/verbs.cpp:2545
+#: ../src/verbs.cpp:2497
 msgid "Edit properties of this document (to be saved with the document)"
-msgstr ""
+msgstr "Зьмяніць уласьцівасьці гэтага дакумэнта (будуць захаваныя разам зь ім)"
 
-#: ../src/verbs.cpp:2546
-#, fuzzy
+#: ../src/verbs.cpp:2498
 msgid "Document _Metadata..."
-msgstr "Варыянт дакумэнта:"
+msgstr "_Мэтаданьні дакумэнта…"
 
-#: ../src/verbs.cpp:2547
+#: ../src/verbs.cpp:2499
 msgid "Edit document metadata (to be saved with the document)"
-msgstr ""
+msgstr "Зьмяніць мэтаданьні гэтага дакумэнта (будуць захаваныя разам зь ім)"
 
-#: ../src/verbs.cpp:2548
-#, fuzzy
+#: ../src/verbs.cpp:2500
 msgid "_Fill and Stroke..."
-msgstr "Запаўненьне й штрыхоўка"
+msgstr "_Запаўненьне й контур…"
 
-#: ../src/verbs.cpp:2549
-msgid ""
-"Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..."
-msgstr ""
+#: ../src/verbs.cpp:2501
+msgid "Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..."
+msgstr "Правіць абʼектавы колеры, ґрадыенты, шырыні контура, канцы стрэлак, узоры штрыхоў…"
 
 #. TRANSLATORS: "Swatches" means: color samples
-#: ../src/verbs.cpp:2551
-#, fuzzy
+#: ../src/verbs.cpp:2503
 msgid "S_watches..."
-msgstr "Захаваць як"
+msgstr "_Прыклады…"
 
-#: ../src/verbs.cpp:2552
+#: ../src/verbs.cpp:2504
 msgid "Select colors from a swatches palette"
-msgstr ""
+msgstr "Выбраць колеры з палітры прыкладаў"
 
-#: ../src/verbs.cpp:2553
-#, fuzzy
+#: ../src/verbs.cpp:2505
 msgid "Transfor_m..."
-msgstr "Трансфармаваньне:"
+msgstr "_Ператварыць…"
 
-#: ../src/verbs.cpp:2554
-#, fuzzy
+#: ../src/verbs.cpp:2506
 msgid "Precisely control objects' transformations"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80мÑ\83е Ð°Ð±'екÑ\82"
+msgstr "Ð\94акладнае ÐºÑ\96Ñ\80аванÑ\8cне Ð¿ÐµÑ\80аÑ\82ваÑ\80Ñ\8dнÑ\8cнем Ð°Ð±Ê¼ÐµÐºÑ\82а"
 
-#: ../src/verbs.cpp:2555
-#, fuzzy
+#: ../src/verbs.cpp:2507
 msgid "_Align and Distribute..."
-msgstr "Раўнаньне й прадстаўленьне"
+msgstr "_Раўнаваньне й разьмеркаваньне…"
 
-#: ../src/verbs.cpp:2556
-#, fuzzy
+#: ../src/verbs.cpp:2508
 msgid "Align and distribute objects"
-msgstr "РаÑ\9eнанÑ\8cне Ð¹ Ð¿Ñ\80адÑ\81Ñ\82аÑ\9eленÑ\8cне"
+msgstr "РаÑ\9eнаванÑ\8cне Ð¹ Ñ\80азÑ\8cмеÑ\80каванÑ\8cне Ð°Ð±Ê¼ÐµÐºÑ\82аÑ\9e"
 
-#: ../src/verbs.cpp:2557
+#: ../src/verbs.cpp:2509
 msgid "Undo _History..."
-msgstr ""
+msgstr "_Гісторыя дзеяньняў…"
 
-#: ../src/verbs.cpp:2558
+#: ../src/verbs.cpp:2510
 msgid "Undo History"
-msgstr ""
+msgstr "Гісторыя дзеяньняў"
 
-#: ../src/verbs.cpp:2559
-#, fuzzy
+#: ../src/verbs.cpp:2511
 msgid "_Text and Font..."
-msgstr "Тэкст і шрыфт"
+msgstr "_Тэкст і шрыфт…"
 
-#: ../src/verbs.cpp:2560
+#: ../src/verbs.cpp:2512
 msgid "View and select font family, font size and other text properties"
-msgstr ""
+msgstr "Прагляд і выбар гарнітуры, кегля й іншых уласьцівасьцяў тэксту"
 
-#: ../src/verbs.cpp:2561
-#, fuzzy
+#: ../src/verbs.cpp:2513
 msgid "_XML Editor..."
-msgstr "Рэдактар XML"
+msgstr "_Рэдактар XML…"
 
-#: ../src/verbs.cpp:2562
+#: ../src/verbs.cpp:2514
 msgid "View and edit the XML tree of the document"
-msgstr ""
+msgstr "Прагляд і рэдагаваньне XML дрэва дакумэнта"
 
-#: ../src/verbs.cpp:2563
-#, fuzzy
+#: ../src/verbs.cpp:2515
 msgid "_Find..."
-msgstr "Друк..."
+msgstr "_Шукаць…"
 
-#: ../src/verbs.cpp:2564
-#, fuzzy
+#: ../src/verbs.cpp:2516
 msgid "Find objects in document"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87ае Ñ\9eÑ\81е Ð°Ð±'екты ў дакумэнце"
+msgstr "ШÑ\83каÑ\86Ñ\8c Ð°Ð±Ê¼екты ў дакумэнце"
 
-#: ../src/verbs.cpp:2565
+#: ../src/verbs.cpp:2517
 msgid "_Messages..."
-msgstr ""
+msgstr "_Паведамленьні…"
 
-#: ../src/verbs.cpp:2566
+#: ../src/verbs.cpp:2518
 msgid "View debug messages"
-msgstr ""
+msgstr "Прагледзець паведамленьні адладкі"
 
-#: ../src/verbs.cpp:2567
-#, fuzzy
+#: ../src/verbs.cpp:2519
 msgid "S_cripts..."
-msgstr "Друк..."
+msgstr "_Сцэнары…"
 
-#: ../src/verbs.cpp:2568
+#: ../src/verbs.cpp:2520
 msgid "Run scripts"
-msgstr ""
+msgstr "Выканаць сцэнары"
 
-#: ../src/verbs.cpp:2569
+#: ../src/verbs.cpp:2521
 msgid "Show/Hide D_ialogs"
-msgstr ""
+msgstr "Схаваць/паказаць _дыялёґі"
 
-#: ../src/verbs.cpp:2570
+#: ../src/verbs.cpp:2522
 msgid "Show or hide all open dialogs"
-msgstr ""
+msgstr "Паказаць ці схаваць усе адкрытыя дыялёґі"
 
-#: ../src/verbs.cpp:2571
+#: ../src/verbs.cpp:2523
 msgid "Create Tiled Clones..."
-msgstr ""
+msgstr "Стварыць мазаічныя клоны…"
 
-#: ../src/verbs.cpp:2572
-msgid ""
-"Create multiple clones of selected object, arranging them into a pattern or "
-"scattering"
+#: ../src/verbs.cpp:2524
+msgid "Create multiple clones of selected object, arranging them into a pattern or scattering"
 msgstr ""
 
-#: ../src/verbs.cpp:2573
-#, fuzzy
+#: ../src/verbs.cpp:2525
 msgid "_Object Properties..."
-msgstr "Уласьцівасьці прамакутніка"
+msgstr "_Уласьцівасьці абʼекта…"
 
-#: ../src/verbs.cpp:2574
+#: ../src/verbs.cpp:2526
 msgid "Edit the ID, locked and visible status, and other object properties"
 msgstr ""
 
-#: ../src/verbs.cpp:2577
+#: ../src/verbs.cpp:2529
 msgid "_Instant Messaging..."
-msgstr ""
+msgstr "_Імгненныя паведамленьні…"
 
-#: ../src/verbs.cpp:2577
+#: ../src/verbs.cpp:2529
 msgid "Jabber Instant Messaging Client"
-msgstr ""
+msgstr "Кліент абмену ігненнымі паведамленьнямі Jabber"
 
-#: ../src/verbs.cpp:2579
+#: ../src/verbs.cpp:2531
 msgid "_Input Devices..."
-msgstr ""
+msgstr "_Прылады ўводжаньня…"
 
-#: ../src/verbs.cpp:2580 ../src/verbs.cpp:2582
+#: ../src/verbs.cpp:2532
 msgid "Configure extended input devices, such as a graphics tablet"
-msgstr ""
+msgstr "Наставіць дадатковыя прылады ўводжаньня, такія як ґрафічныя пляншэты"
 
-#: ../src/verbs.cpp:2581
-msgid "_Input Devices (new)..."
-msgstr ""
-
-#: ../src/verbs.cpp:2583
-#, fuzzy
+#: ../src/verbs.cpp:2533
 msgid "_Extensions..."
-msgstr "Пашырэньне"
+msgstr "_Пашыральнікі…"
 
-#: ../src/verbs.cpp:2584
+#: ../src/verbs.cpp:2534
 msgid "Query information about extensions"
-msgstr ""
+msgstr "Запытаць зьвесткі пра пашыральнікі"
 
-#: ../src/verbs.cpp:2585
-#, fuzzy
+#: ../src/verbs.cpp:2535
 msgid "Layer_s..."
-msgstr "Захаваць як"
+msgstr "_Пласты…"
 
-#: ../src/verbs.cpp:2586
+#: ../src/verbs.cpp:2536
 msgid "View Layers"
-msgstr ""
+msgstr "Прагляд пластоў"
 
-#: ../src/verbs.cpp:2587
+#: ../src/verbs.cpp:2537
 msgid "Path Effects..."
-msgstr ""
+msgstr "Эфэкты шляхоў…"
 
-#: ../src/verbs.cpp:2588
+#: ../src/verbs.cpp:2538
 msgid "Manage path effects"
-msgstr ""
+msgstr "Кіраваць эфэктамі шляхоў"
 
-#: ../src/verbs.cpp:2589
+#: ../src/verbs.cpp:2539
 msgid "Filter Effects..."
-msgstr ""
+msgstr "Эфэкты фільтраў…"
 
-#: ../src/verbs.cpp:2590
+#: ../src/verbs.cpp:2540
 msgid "Manage SVG filter effects"
-msgstr ""
+msgstr "Кіраваць фільтрамі эфэктаў SVG"
 
 #. Help
-#: ../src/verbs.cpp:2593
-#, fuzzy
+#: ../src/verbs.cpp:2543
 msgid "About E_xtensions"
-msgstr "Пашырэньне"
+msgstr "Пра _пашыральнікі"
 
-#: ../src/verbs.cpp:2594
+#: ../src/verbs.cpp:2544
 msgid "Information on Inkscape extensions"
-msgstr ""
+msgstr "Зьвесткі пра пашыральнікі Inkscape"
 
-#: ../src/verbs.cpp:2595
-#, fuzzy
+#: ../src/verbs.cpp:2545
 msgid "About _Memory"
-msgstr "Ð\9fÑ\80а Ð¼Ð¾Ð´Ñ\83лÑ\96"
+msgstr "Ð\9fÑ\80а Ð¿Ð°_мÑ\8fÑ\86Ñ\8c"
 
-#: ../src/verbs.cpp:2596
-#, fuzzy
+#: ../src/verbs.cpp:2546
 msgid "Memory usage information"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cні"
+msgstr "Ð\97Ñ\8cвеÑ\81Ñ\82кÑ\96 Ð°Ð± Ð²Ñ\8bкаÑ\80Ñ\8bÑ\81Ñ\82анÑ\8cнÑ\96 Ð¿Ð°Ð¼Ñ\8fÑ\86і"
 
-#: ../src/verbs.cpp:2597
+#: ../src/verbs.cpp:2547
 msgid "_About Inkscape"
-msgstr ""
+msgstr "П_ра Inkscape"
 
-#: ../src/verbs.cpp:2598
+#: ../src/verbs.cpp:2548
 msgid "Inkscape version, authors, license"
-msgstr ""
+msgstr "Вэрсія, аўтары, ліцэнзія Inkscape"
 
 #. "help_about"
 #. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"),
 #. N_("Distribution terms"), /*"show_license"*/"inkscape_options"),
 #. Tutorials
-#: ../src/verbs.cpp:2603
+#: ../src/verbs.cpp:2553
 msgid "Inkscape: _Basic"
-msgstr ""
+msgstr "Inkscape: _Уводзіны"
 
-#: ../src/verbs.cpp:2604
+#: ../src/verbs.cpp:2554
 msgid "Getting started with Inkscape"
-msgstr ""
+msgstr "Пачатак працы з Inkscape"
 
 #. "tutorial_basic"
-#: ../src/verbs.cpp:2605
+#: ../src/verbs.cpp:2555
 msgid "Inkscape: _Shapes"
-msgstr ""
+msgstr "Inkscape: _Фіґуры"
 
-#: ../src/verbs.cpp:2606
+#: ../src/verbs.cpp:2556
 msgid "Using shape tools to create and edit shapes"
-msgstr ""
+msgstr "Як карыстацца інструмэнтамі фіґур, каб ствараць і правіць фіґуры"
 
-#: ../src/verbs.cpp:2607
+#: ../src/verbs.cpp:2557
 msgid "Inkscape: _Advanced"
-msgstr ""
+msgstr "Inkscape: _Дадатковыя"
 
-#: ../src/verbs.cpp:2608
+#: ../src/verbs.cpp:2558
 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
+#: ../src/verbs.cpp:2560
 msgid "Inkscape: T_racing"
-msgstr ""
+msgstr "Inkscape: _Абводжаньне"
 
-#: ../src/verbs.cpp:2611
+#: ../src/verbs.cpp:2561
 msgid "Using bitmap tracing"
-msgstr ""
+msgstr "Як абводзіць растры"
 
 #. "tutorial_tracing"
-#: ../src/verbs.cpp:2612
-#, fuzzy
+#: ../src/verbs.cpp:2562
 msgid "Inkscape: _Calligraphy"
-msgstr "Каліграфія"
+msgstr "Inkscape: _Каліґрафія"
 
-#: ../src/verbs.cpp:2613
+#: ../src/verbs.cpp:2563
 msgid "Using the Calligraphy pen tool"
-msgstr ""
+msgstr "Як карыстацца інструмэнтам «Каліґрафічнае пяро»"
 
-#: ../src/verbs.cpp:2614
+#: ../src/verbs.cpp:2564
 msgid "_Elements of Design"
-msgstr ""
+msgstr "_Элемэнты дызайну"
 
-#: ../src/verbs.cpp:2615
+#: ../src/verbs.cpp:2565
 msgid "Principles of design in the tutorial form"
-msgstr ""
+msgstr "Уводзіны ў дызайн ў форме падручніка"
 
 #. "tutorial_design"
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2566
 msgid "_Tips and Tricks"
-msgstr ""
+msgstr "_Парады й штукарства"
 
-#: ../src/verbs.cpp:2617
+#: ../src/verbs.cpp:2567
 msgid "Miscellaneous tips and tricks"
-msgstr ""
+msgstr "Разнастайныя парады й штукі"
 
 #. "tutorial_tips"
 #. Effect
-#: ../src/verbs.cpp:2620
+#: ../src/verbs.cpp:2570
 msgid "Previous Effect"
-msgstr ""
+msgstr "Папярэдні эфэкт"
 
-#: ../src/verbs.cpp:2621
+#: ../src/verbs.cpp:2571
 msgid "Repeat the last effect with the same settings"
-msgstr ""
+msgstr "Паўтарыць апошні эфэкт з тымі ж самымі наладкамі"
 
-#: ../src/verbs.cpp:2622
+#: ../src/verbs.cpp:2572
 msgid "Previous Effect Settings..."
-msgstr ""
+msgstr "Наладкі папярэдняга эфэкта…"
 
-#: ../src/verbs.cpp:2623
+#: ../src/verbs.cpp:2573
 msgid "Repeat the last effect with new settings"
-msgstr ""
+msgstr "Паўтарыць апошні эфэкт з новымі наладкамі"
 
 #. Fit Page
-#: ../src/verbs.cpp:2626
-#, fuzzy
+#: ../src/verbs.cpp:2576
 msgid "Fit Page to Selection"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\94апаÑ\81аваÑ\86Ñ\8c Ñ\81Ñ\82аÑ\80онкÑ\83 Ð´Ð° Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f"
 
-#: ../src/verbs.cpp:2627
+#: ../src/verbs.cpp:2577
 msgid "Fit the page to the current selection"
-msgstr ""
+msgstr "Дапасаваць старонку да бягучага вылучэньня"
 
-#: ../src/verbs.cpp:2628
+#: ../src/verbs.cpp:2578
 msgid "Fit Page to Drawing"
-msgstr ""
+msgstr "Дапасаваць старонку да рысунка"
 
-#: ../src/verbs.cpp:2629
-#, fuzzy
+#: ../src/verbs.cpp:2579
 msgid "Fit the page to the drawing"
-msgstr "Ð\97апаÑ\9eнÑ\8fе Ð°ÐºÐ½Ð¾ Ñ\83Ñ\81Ñ\91й Ñ\81Ñ\82аÑ\80онкай"
+msgstr "Ð\94апаÑ\81аваÑ\86Ñ\8c Ñ\81Ñ\82аÑ\80онкÑ\83 Ð´Ð° Ñ\80Ñ\8bÑ\81Ñ\83нка"
 
-#: ../src/verbs.cpp:2630
-#, fuzzy
+#: ../src/verbs.cpp:2580
 msgid "Fit Page to Selection or Drawing"
-msgstr "Ð\97апаÑ\9eнÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнем Ñ\83Ñ\81Ñ\91 Ð°ÐºÐ½Ð¾"
+msgstr "Ð\94апаÑ\81аваÑ\86Ñ\8c Ñ\81Ñ\82аÑ\80онкÑ\83 Ð´Ð° Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f Ñ\86Ñ\96 Ñ\80Ñ\8bÑ\81Ñ\83нка"
 
-#: ../src/verbs.cpp:2631
-msgid ""
-"Fit the page to the current selection or the drawing if there is no selection"
-msgstr ""
+#: ../src/verbs.cpp:2581
+msgid "Fit the page to the current selection or the drawing if there is no selection"
+msgstr "Дапасаваць старонку да бягучага вылучэньня, ці ўсяго рысунка, калі няма вылучэньня"
 
 #. LockAndHide
-#: ../src/verbs.cpp:2633
-#, fuzzy
+#: ../src/verbs.cpp:2583
 msgid "Unlock All"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\90дамкнÑ\83Ñ\86Ñ\8c Ñ\83Ñ\81Ñ\91"
 
-#: ../src/verbs.cpp:2635
-#, fuzzy
+#: ../src/verbs.cpp:2585
 msgid "Unlock All in All Layers"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\90дамкнÑ\83Ñ\86Ñ\8c Ñ\83Ñ\81Ñ\91 Ð½Ð° Ñ\9eÑ\81Ñ\96Ñ\85 Ð¿Ð»Ð°Ñ\81Ñ\82аÑ\85"
 
-#: ../src/verbs.cpp:2637
-#, fuzzy
+#: ../src/verbs.cpp:2587
 msgid "Unhide All"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9fаказаÑ\86Ñ\8c Ñ\83Ñ\81Ñ\91"
 
-#: ../src/verbs.cpp:2639
-#, fuzzy
+#: ../src/verbs.cpp:2589
 msgid "Unhide All in All Layers"
-msgstr "Падняць вузел"
-
-#: ../src/widgets/calligraphic-profile-rename.cpp:34
-#, fuzzy
-msgid "Profile name:"
-msgstr "Захаваць файл"
-
-#: ../src/widgets/calligraphic-profile-rename.cpp:48
-#, fuzzy
-msgid "Save"
-msgstr "Захаваць"
+msgstr "Паказаць усё на ўсіх пластах"
 
 #: ../src/widgets/dash-selector.cpp:106
-#, fuzzy
 msgid "Dash pattern"
-msgstr "Узор:"
+msgstr "Узор штрыхоў"
 
 #: ../src/widgets/dash-selector.cpp:121
-#, fuzzy
 msgid "Pattern offset"
-msgstr "РаÑ\9eнае Ð°Ð±'екÑ\82"
+msgstr "Ð\97Ñ\80Ñ\83Ñ\85 Ñ\83зоÑ\80а"
 
-#: ../src/widgets/desktop-widget.cpp:620
+#: ../src/widgets/desktop-widget.cpp:615
 #, c-format
 msgid "%s: %d (outline) - Inkscape"
-msgstr ""
+msgstr "%s: %d (абрысы) - Inkscape"
 
-#: ../src/widgets/desktop-widget.cpp:622
+#: ../src/widgets/desktop-widget.cpp:617
 #, c-format
 msgid "%s: %d - Inkscape"
-msgstr ""
+msgstr "%s: %d - Inkscape"
 
-#: ../src/widgets/desktop-widget.cpp:626
+#: ../src/widgets/desktop-widget.cpp:621
 #, c-format
 msgid "%s (outline) - Inkscape"
-msgstr ""
+msgstr "%s (абрысы) - Inkscape"
 
-#: ../src/widgets/desktop-widget.cpp:628
+#: ../src/widgets/desktop-widget.cpp:623
 #, c-format
 msgid "%s - Inkscape"
-msgstr ""
+msgstr "%s - Inkscape"
 
 #. Family frame
-#: ../src/widgets/font-selector.cpp:154
+#: ../src/widgets/font-selector.cpp:150
 msgid "Font family"
-msgstr "Сямейства шрыфта"
+msgstr "Ґарнітура"
 
 #. Style frame
-#: ../src/widgets/font-selector.cpp:185
-#: ../share/extensions/polyhedron_3d.inx.h:44
+#: ../src/widgets/font-selector.cpp:181
 msgid "Style"
 msgstr "Стыль"
 
-#: ../src/widgets/font-selector.cpp:223
+#: ../src/widgets/font-selector.cpp:219
 msgid "Font size:"
-msgstr "Ð\9fамеÑ\80 Ñ\88Ñ\80Ñ\8bÑ\84Ñ\82а:"
+msgstr "Ð\9aеглÑ\8c:"
 
 #. 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
-#, fuzzy
+#: ../src/widgets/font-selector.cpp:628
+#: ../src/widgets/toolbox.cpp:4684
 msgid "AaBbCcIiPpQq12369$€¢?.;/()"
-msgstr "ШÑ\88РÑ\80ЫÑ\8bФÑ\84ТÑ\821234568.;/(-)"
+msgstr "Ð\90аÐ\91бÐ\92вÐ\86Ñ\96Ð\9aкÐ\9eоÐ\8eÑ\9e1234568.;/()"
 
 #: ../src/widgets/gradient-selector.cpp:139
 #: ../src/widgets/gradient-toolbar.cpp:462
-#, fuzzy
 msgid "Edit..."
-msgstr "РÑ\8dдагаванÑ\8cне"
+msgstr "Ð\9fÑ\80аÑ\9eкаâ\80¦"
 
 #. 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\")"
+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 ""
 
 #: ../src/widgets/gradient-selector.cpp:166
-#, fuzzy
 msgid "reflected"
-msgstr "Ð\9fеÑ\80Ñ\88Ñ\8b Ð²Ñ\8bлÑ\83Ñ\87аны"
+msgstr "адбÑ\96Ñ\82ы"
 
 #: ../src/widgets/gradient-selector.cpp:170
-#, fuzzy
 msgid "direct"
-msgstr "Ð\9fÑ\80амакÑ\83Ñ\82нÑ\96к"
+msgstr "пÑ\80амÑ\8b"
 
 #: ../src/widgets/gradient-selector.cpp:178
-#, fuzzy
 msgid "Repeat:"
-msgstr "Прамакутнік"
+msgstr "Паўтараць:"
 
 #: ../src/widgets/gradient-toolbar.cpp:151
-#, fuzzy
 msgid "Assign gradient to object"
-msgstr "РаÑ\9eнанÑ\8cне Ð¹ Ð¿Ñ\80адÑ\81Ñ\82аÑ\9eленÑ\8cне"
+msgstr "Ð\9fÑ\80Ñ\8bзнаÑ\87Ñ\8bÑ\86Ñ\8c Ò\91Ñ\80адÑ\8bенÑ\82 Ð°Ð±Ê¼ÐµÐºÑ\82Ñ\83"
 
 #: ../src/widgets/gradient-toolbar.cpp:185
 msgid "<small>No gradients</small>"
-msgstr ""
+msgstr "<small>Няма ґрадыентаў</small>"
 
 #: ../src/widgets/gradient-toolbar.cpp:194
 msgid "<small>Nothing selected</small>"
-msgstr ""
+msgstr "<small>Нічога ня вылучана</small>"
 
 #: ../src/widgets/gradient-toolbar.cpp:205
-#, fuzzy
 msgid "<small>No gradients in selection</small>"
-msgstr "Градыент не вылучаны"
+msgstr "<small>Вылучэньне ня мае ґрадыентаў</small>"
 
 #: ../src/widgets/gradient-toolbar.cpp:215
 msgid "<small>Multiple gradients</small>"
-msgstr ""
+msgstr "<small>Розныя ґрадыенты</small>"
 
 #: ../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
-#: ../src/widgets/toolbox.cpp:4137
+msgstr "Рэдагаваць пункты ґрадыента"
+
+#: ../src/widgets/gradient-toolbar.cpp:522
+#: ../src/widgets/toolbox.cpp:1793
+#: ../src/widgets/toolbox.cpp:1865
+#: ../src/widgets/toolbox.cpp:2194
+#: ../src/widgets/toolbox.cpp:2231
+#: ../src/widgets/toolbox.cpp:2845
+#: ../src/widgets/toolbox.cpp:2868
+#: ../src/widgets/toolbox.cpp:3735
+#: ../src/widgets/toolbox.cpp:3761
 msgid "<b>New:</b>"
-msgstr ""
+msgstr "<b>Новы:</b>"
 
 #: ../src/widgets/gradient-toolbar.cpp:535
-#, fuzzy
 msgid "Create linear gradient"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³радыент"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\96нейнÑ\8b Ò\91радыент"
 
 #: ../src/widgets/gradient-toolbar.cpp:549
 msgid "Create radial (elliptic or circular) gradient"
-msgstr ""
+msgstr "Стварыць радыяльны (эліптычны ці круглы) ґрадыент"
 
 #: ../src/widgets/gradient-toolbar.cpp:564
-#, fuzzy
 msgid "on"
-msgstr "Ð\9dÑ\8fма"
+msgstr "на"
 
 #: ../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), _("<b>Average:</b>"));
-#: ../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:1795
+#: ../src/widgets/toolbox.cpp:2202
+#: ../src/widgets/toolbox.cpp:2220
+#: ../src/widgets/toolbox.cpp:2847
+#: ../src/widgets/toolbox.cpp:2858
+#: ../src/widgets/toolbox.cpp:3738
+#: ../src/widgets/toolbox.cpp:3749
 msgid "<b>Change:</b>"
-msgstr ""
+msgstr "<b>Праўка:</b>"
 
 #: ../src/widgets/gradient-vector.cpp:270
 msgid "No gradients in document"
-msgstr "Ð\9dÑ\8fма Ð³Ñ\80адÑ\8bенÑ\82най Ð·Ð°Ð»Ñ\96Ñ\9eкÑ\96 Ñ\9e Ð´Ð°ÐºÑ\83мÑ\8dнÑ\86е"
+msgstr "Ð\94акÑ\83мÑ\8dнÑ\82 Ð½Ñ\8f Ð¼Ð°Ðµ Ò\91Ñ\80адÑ\8bенÑ\82аÑ\9e"
 
 #: ../src/widgets/gradient-vector.cpp:276
 msgid "No gradient selected"
-msgstr "Градыент не вылучаны"
+msgstr "Ґрадыент ня вылучаны"
 
 #: ../src/widgets/gradient-vector.cpp:538
-#, fuzzy
 msgid "No stops in gradient"
-msgstr "Лінэйны градыент"
+msgstr "Ґрадыент ня мае пунктаў"
 
 #: ../src/widgets/gradient-vector.cpp:661
-#, fuzzy
 msgid "Change gradient stop offset"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð·Ñ\80Ñ\83Ñ\85 Ð¿Ñ\83нкÑ\82а Ò\91Ñ\80адÑ\8bенÑ\82а"
 
 #. 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 ""
 
 #: ../src/widgets/gradient-vector.cpp:808
-#, fuzzy
 msgid "Delete stop"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð¿Ñ\83нкÑ\82"
 
 #: ../src/widgets/gradient-vector.cpp:811
 msgid "Delete current control stop from gradient"
@@ -15995,233 +13303,204 @@ 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
-#, fuzzy
 msgid "Stop Color"
-msgstr "Ð\9fаÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\9aолеÑ\80 Ð¿Ñ\83нкÑ\82а"
 
 #: ../src/widgets/gradient-vector.cpp:896
-#, fuzzy
 msgid "Gradient editor"
-msgstr "Ð\92Ñ\8dкÑ\82аÑ\80 Ð³Ñ\80адÑ\8bенÑ\82а"
+msgstr "РÑ\8dдакÑ\82аÑ\80 Ò\91Ñ\80адÑ\8bенÑ\82аÑ\9e"
 
 #: ../src/widgets/gradient-vector.cpp:1171
-#, fuzzy
 msgid "Change gradient stop color"
-msgstr "Ð\9bÑ\96нÑ\8dйнÑ\8b Ð³Ñ\80адÑ\8bенÑ\82"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c ÐºÐ¾Ð»ÐµÑ\80 Ð¿Ñ\83нкÑ\82а Ò\91Ñ\80адÑ\8bенÑ\82Ñ\83"
 
 #: ../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:178
+#: ../src/widgets/paint-selector.cpp:561
 msgid "No paint"
-msgstr "Няма рафарбоўкі"
+msgstr "Ð\9dÑ\8fма Ñ\80аÑ\81Ñ\84аÑ\80боÑ\9eкÑ\96"
 
-#: ../src/widgets/paint-selector.cpp:183 ../src/widgets/paint-selector.cpp:636
-#, fuzzy
+#: ../src/widgets/paint-selector.cpp:180
+#: ../src/widgets/paint-selector.cpp:633
 msgid "Flat color"
-msgstr "Ð\9fаÑ\87аÑ\82ковы колер"
+msgstr "СÑ\83Ñ\86Ñ\8dлÑ\8cны колер"
 
-#: ../src/widgets/paint-selector.cpp:185 ../src/widgets/paint-selector.cpp:707
+#: ../src/widgets/paint-selector.cpp:182
+#: ../src/widgets/paint-selector.cpp:704
 msgid "Linear gradient"
-msgstr "Лінэйны градыент"
+msgstr "Лінэйны ґрадыент"
 
-#: ../src/widgets/paint-selector.cpp:187 ../src/widgets/paint-selector.cpp:710
+#: ../src/widgets/paint-selector.cpp:184
+#: ../src/widgets/paint-selector.cpp:707
 msgid "Radial gradient"
-msgstr "Кругавы градыент"
+msgstr "Кругавы ґрадыент"
 
-#: ../src/widgets/paint-selector.cpp:191
+#: ../src/widgets/paint-selector.cpp:188
 msgid "Unset paint (make it undefined so it can be inherited)"
 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)"
+#: ../src/widgets/paint-selector.cpp:200
+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)"
+#: ../src/widgets/paint-selector.cpp:211
+msgid "Fill is solid unless a subpath is counterdirectional (fill-rule: nonzero)"
 msgstr ""
 
-#: ../src/widgets/paint-selector.cpp:531
+#: ../src/widgets/paint-selector.cpp:528
 msgid "No objects"
-msgstr "Няма аб'ектаў"
+msgstr "Няма абʼектаў"
 
-#: ../src/widgets/paint-selector.cpp:542
+#: ../src/widgets/paint-selector.cpp:539
 msgid "Multiple styles"
-msgstr "ШмаÑ\82лÑ\96кÑ\96я стылі"
+msgstr "РознÑ\8bя стылі"
 
-#: ../src/widgets/paint-selector.cpp:553
+#: ../src/widgets/paint-selector.cpp:550
 msgid "Paint is undefined"
-msgstr ""
+msgstr "Рысаваньне нявызначана"
 
-#: ../src/widgets/paint-selector.cpp:984
-msgid ""
-"Use the <b>Node tool</b> to adjust position, scale, and rotation of the "
-"pattern on canvas. Use <b>Object &gt; Pattern &gt; Objects to Pattern</b> to "
-"create a new pattern from selection."
+#: ../src/widgets/paint-selector.cpp:981
+msgid "Use the <b>Node tool</b> to adjust position, scale, and rotation of the pattern on canvas. Use <b>Object &gt; Pattern &gt; Objects to Pattern</b> to create a new pattern from selection."
 msgstr ""
 
-#: ../src/widgets/select-toolbar.cpp:244
+#: ../src/widgets/select-toolbar.cpp:238
 #, fuzzy
 msgid "Transform by toolbar"
-msgstr "Трансфармаваньне вылучэньня"
+msgstr "Cтановішча па X"
 
-#: ../src/widgets/select-toolbar.cpp:299
+#: ../src/widgets/select-toolbar.cpp:293
 msgid "Now <b>stroke width</b> is <b>scaled</b> when objects are scaled."
-msgstr ""
+msgstr "Цяпер <b>таўшчыня контура мяняецца</b>, калі мяняецца памер абʼекта."
 
-#: ../src/widgets/select-toolbar.cpp:301
+#: ../src/widgets/select-toolbar.cpp:295
 msgid "Now <b>stroke width</b> is <b>not scaled</b> when objects are scaled."
-msgstr ""
+msgstr "Цяпер <b>таўшчыня контура не мяняецца</b>, калі мяняецца памер абʼекта."
 
-#: ../src/widgets/select-toolbar.cpp:310
-msgid ""
-"Now <b>rounded rectangle corners</b> are <b>scaled</b> when rectangles are "
-"scaled."
+#: ../src/widgets/select-toolbar.cpp:304
+msgid "Now <b>rounded rectangle corners</b> are <b>scaled</b> when rectangles are scaled."
 msgstr ""
 
-#: ../src/widgets/select-toolbar.cpp:312
-msgid ""
-"Now <b>rounded rectangle corners</b> are <b>not scaled</b> when rectangles "
-"are scaled."
+#: ../src/widgets/select-toolbar.cpp:306
+msgid "Now <b>rounded rectangle corners</b> are <b>not scaled</b> when rectangles are scaled."
 msgstr ""
 
-#: ../src/widgets/select-toolbar.cpp:321
-msgid ""
-"Now <b>gradients</b> are <b>transformed</b> along with their objects when "
-"those are transformed (moved, scaled, rotated, or skewed)."
+#: ../src/widgets/select-toolbar.cpp:315
+msgid "Now <b>gradients</b> are <b>transformed</b> along with their objects when those are transformed (moved, scaled, rotated, or skewed)."
 msgstr ""
 
-#: ../src/widgets/select-toolbar.cpp:323
-msgid ""
-"Now <b>gradients</b> remain <b>fixed</b> when objects are transformed "
-"(moved, scaled, rotated, or skewed)."
+#: ../src/widgets/select-toolbar.cpp:317
+msgid "Now <b>gradients</b> remain <b>fixed</b> when objects are transformed (moved, scaled, rotated, or skewed)."
 msgstr ""
 
-#: ../src/widgets/select-toolbar.cpp:332
-msgid ""
-"Now <b>patterns</b> are <b>transformed</b> along with their objects when "
-"those are transformed (moved, scaled, rotated, or skewed)."
+#: ../src/widgets/select-toolbar.cpp:326
+msgid "Now <b>patterns</b> are <b>transformed</b> along with their objects when those are transformed (moved, scaled, rotated, or skewed)."
 msgstr ""
 
-#: ../src/widgets/select-toolbar.cpp:334
-msgid ""
-"Now <b>patterns</b> remain <b>fixed</b> when objects are transformed (moved, "
-"scaled, rotated, or skewed)."
+#: ../src/widgets/select-toolbar.cpp:328
+msgid "Now <b>patterns</b> remain <b>fixed</b> 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
+#: ../src/widgets/select-toolbar.cpp:429
 msgid "select_toolbar|X position"
-msgstr ""
+msgstr "Cтановішча па X"
 
-#: ../src/widgets/select-toolbar.cpp:446
+#: ../src/widgets/select-toolbar.cpp:429
 msgid "select_toolbar|X"
-msgstr ""
+msgstr "X"
 
-#: ../src/widgets/select-toolbar.cpp:448
-#, fuzzy
+#: ../src/widgets/select-toolbar.cpp:431
 msgid "Horizontal coordinate of selection"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\93аÑ\80Ñ\8bзанÑ\82алÑ\8cнаÑ\8f ÐºÐ°Ð°Ñ\80дÑ\8bнаÑ\82а Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f"
 
 #. 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
+#: ../src/widgets/select-toolbar.cpp:436
 msgid "select_toolbar|Y position"
-msgstr ""
+msgstr "Cтановішча па Y"
 
-#: ../src/widgets/select-toolbar.cpp:454
+#: ../src/widgets/select-toolbar.cpp:436
 msgid "select_toolbar|Y"
-msgstr ""
+msgstr "Y"
 
-#: ../src/widgets/select-toolbar.cpp:456
+#: ../src/widgets/select-toolbar.cpp:438
 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
+#: ../src/widgets/select-toolbar.cpp:443
 msgid "select_toolbar|Width"
-msgstr ""
+msgstr "Шырыня"
 
-#: ../src/widgets/select-toolbar.cpp:462
+#: ../src/widgets/select-toolbar.cpp:443
 msgid "select_toolbar|W"
-msgstr ""
+msgstr "Ш"
 
-#: ../src/widgets/select-toolbar.cpp:464
+#: ../src/widgets/select-toolbar.cpp:445
 msgid "Width of selection"
-msgstr ""
+msgstr "Шырыня вылучэньня"
 
-#: ../src/widgets/select-toolbar.cpp:471
+#: ../src/widgets/select-toolbar.cpp:451
 msgid "Lock width and height"
-msgstr ""
+msgstr "Замкнуць шырыню й вышыню"
 
-#: ../src/widgets/select-toolbar.cpp:472
+#: ../src/widgets/select-toolbar.cpp:452
 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
+#: ../src/widgets/select-toolbar.cpp:463
 msgid "select_toolbar|Height"
-msgstr ""
+msgstr "Вышыня"
 
-#: ../src/widgets/select-toolbar.cpp:483
+#: ../src/widgets/select-toolbar.cpp:463
 msgid "select_toolbar|H"
-msgstr ""
+msgstr "В"
 
-#: ../src/widgets/select-toolbar.cpp:485
+#: ../src/widgets/select-toolbar.cpp:465
 msgid "Height of selection"
-msgstr ""
+msgstr "Вышыня вылучэньня"
 
-#: ../src/widgets/select-toolbar.cpp:516
+#: ../src/widgets/select-toolbar.cpp:487
 msgid "Affect:"
-msgstr ""
+msgstr "Узьдзеяньне:"
 
-#: ../src/widgets/select-toolbar.cpp:535
-#, fuzzy
+#: ../src/widgets/select-toolbar.cpp:506
 msgid "Scale rounded corners"
-msgstr ""
-"Інструмэнт прамакутніка - стварае прамакутнікі й квадраты з магчымымі "
-"закругленымі кутамі"
+msgstr "Зьмяняць радыюс закругленых кутоў"
 
-#: ../src/widgets/select-toolbar.cpp:546
-#, fuzzy
+#: ../src/widgets/select-toolbar.cpp:517
 msgid "Move gradients"
-msgstr "Ð\93Ñ\80адÑ\8bенÑ\82 Ð½Ðµ Ð²Ñ\8bлÑ\83Ñ\87аны"
+msgstr "Ð\9fаÑ\81Ñ\83нÑ\83Ñ\86Ñ\8c Ò\91Ñ\80адÑ\8bенÑ\82ы"
 
-#: ../src/widgets/select-toolbar.cpp:557
-#, fuzzy
+#: ../src/widgets/select-toolbar.cpp:528
 msgid "Move patterns"
-msgstr "Узор:"
-
-#: ../src/widgets/sp-color-gtkselector.cpp:50
-#, fuzzy
-msgid "System"
-msgstr "Элемэнт"
+msgstr "Пасунуць узоры"
 
 #: ../src/widgets/sp-color-icc-selector.cpp:110
 msgid "CMS"
@@ -16230,91 +13509,88 @@ msgstr ""
 #: ../src/widgets/sp-color-icc-selector.cpp:219
 #: ../src/widgets/sp-color-scales.cpp:397
 msgid "_R"
-msgstr ""
+msgstr ""
 
 #: ../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 ""
+msgstr ""
 
 #: ../src/widgets/sp-color-icc-selector.cpp:219
 #: ../src/widgets/sp-color-scales.cpp:403
 msgid "_B"
-msgstr ""
+msgstr ""
 
 #: ../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 ""
+msgstr ""
 
 #: ../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 ""
+msgstr ""
 
 #: ../src/widgets/sp-color-icc-selector.cpp:222
 #: ../src/widgets/sp-color-scales.cpp:429
 msgid "_L"
-msgstr ""
+msgstr ""
 
 #: ../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 ""
+msgstr ""
 
 #: ../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 ""
 
 #: ../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 ""
 
 #: ../src/widgets/sp-color-icc-selector.cpp:223
 #: ../src/widgets/sp-color-scales.cpp:460
 msgid "_K"
-msgstr ""
+msgstr ""
 
 #: ../src/widgets/sp-color-icc-selector.cpp:234
-#, fuzzy
 msgid "Gray"
-msgstr "Ð\97гÑ\80Ñ\83паваÑ\86Ñ\8c"
+msgstr "ШÑ\8dÑ\80Ñ\8b"
 
 #: ../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
-#, fuzzy
 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
-#, fuzzy
 msgid "Magenta"
-msgstr "Ð\9cалÑ\96навÑ\8b:"
+msgstr "Ð\9fÑ\83Ñ\80пÑ\83Ñ\80овÑ\8b"
 
 #: ../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
-#, fuzzy
 msgid "Yellow"
-msgstr "Жоўты:"
+msgstr "Жоўты"
 
 #: ../src/widgets/sp-color-icc-selector.cpp:295
+#, fuzzy
 msgid "Fix"
-msgstr ""
+msgstr "Фіксаваны лік"
 
 #: ../src/widgets/sp-color-icc-selector.cpp:298
 msgid "Fix RGB fallback to match icc-color() value."
@@ -16327,7 +13603,7 @@ msgstr ""
 #: ../src/widgets/sp-color-scales.cpp:463
 #: ../src/widgets/sp-color-wheel-selector.cpp:134
 msgid "_A"
-msgstr ""
+msgstr ""
 
 #: ../src/widgets/sp-color-icc-selector.cpp:389
 #: ../src/widgets/sp-color-icc-selector.cpp:401
@@ -16340,25 +13616,27 @@ msgstr ""
 #: ../src/widgets/sp-color-wheel-selector.cpp:144
 #: ../src/widgets/sp-color-wheel-selector.cpp:156
 msgid "Alpha (opacity)"
-msgstr ""
+msgstr "Альфа (непразрыстасьць)"
 
-#: ../src/widgets/sp-color-notebook.cpp:329
-#, fuzzy
+#: ../src/widgets/sp-color-gtkselector.cpp:50
+msgid "System"
+msgstr "Сыстэмны"
+
+#: ../src/widgets/sp-color-notebook.cpp:326
 msgid "RGBA_:"
-msgstr "RGB"
+msgstr "RGBA_:"
 
-#: ../src/widgets/sp-color-notebook.cpp:337
+#: ../src/widgets/sp-color-notebook.cpp:334
 msgid "Hexadecimal RGBA value of the color"
-msgstr ""
+msgstr "Шаснаццаткавае RGBA значэньне колера "
 
 #: ../src/widgets/sp-color-scales.cpp:77
 msgid "RGB"
 msgstr "RGB"
 
 #: ../src/widgets/sp-color-scales.cpp:77
-#, fuzzy
 msgid "HSL"
-msgstr "HSV"
+msgstr "HSL"
 
 #: ../src/widgets/sp-color-scales.cpp:77
 msgid "CMYK"
@@ -16366,11 +13644,11 @@ 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"
@@ -16381,1974 +13659,1553 @@ msgstr "Атрыбут"
 msgid "Value"
 msgstr "Значэньне"
 
-#: ../src/widgets/sp-xmlview-content.cpp:169
+#: ../src/widgets/sp-xmlview-content.cpp:166
+#, fuzzy
 msgid "Type text in a text node"
-msgstr ""
+msgstr "<b>%i</b> з <b>%i</b> вузла вылучана ў <b>%i</b> з <b>%i</b> падшляхоў. %s."
 
-#: ../src/widgets/toolbox.cpp:187
+#: ../src/widgets/toolbox.cpp:169
+#, fuzzy
 msgid "Color/opacity used for color tweaking"
-msgstr ""
+msgstr "Выбраць колер папярэджваньня аб ня трапіўшых у дыяпазон."
 
-#: ../src/widgets/toolbox.cpp:191
+#: ../src/widgets/toolbox.cpp:173
 msgid "Style of new stars"
-msgstr ""
+msgstr "Стыль новых зорак"
 
-#: ../src/widgets/toolbox.cpp:193
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:175
 msgid "Style of new rectangles"
-msgstr "Стварыць лучыва"
+msgstr "Стыль новых прастакутнікаў"
 
-#: ../src/widgets/toolbox.cpp:195
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:177
 msgid "Style of new 3D boxes"
-msgstr "Стварыць лучыва"
+msgstr "Стыль новых трохмерных скрынь"
 
-#: ../src/widgets/toolbox.cpp:197
+#: ../src/widgets/toolbox.cpp:179
 msgid "Style of new ellipses"
-msgstr ""
+msgstr "Стыль новых эліпсаў"
 
-#: ../src/widgets/toolbox.cpp:199
+#: ../src/widgets/toolbox.cpp:181
 msgid "Style of new spirals"
-msgstr ""
+msgstr "Стыль новых сьпіраляў"
 
-#: ../src/widgets/toolbox.cpp:201
+#: ../src/widgets/toolbox.cpp:183
 msgid "Style of new paths created by Pencil"
-msgstr ""
+msgstr "Стыль новых шляхоў, створаных алоўкам"
 
-#: ../src/widgets/toolbox.cpp:203
+#: ../src/widgets/toolbox.cpp:185
 msgid "Style of new paths created by Pen"
-msgstr ""
+msgstr "Стыль новых шляхоў, створаных пяром"
 
-#: ../src/widgets/toolbox.cpp:205
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:187
 msgid "Style of new calligraphic strokes"
-msgstr "Каліграфічная рыса"
-
-#: ../src/widgets/toolbox.cpp:207
-msgid "TBD"
-msgstr ""
+msgstr "Стыль новых каліґрафічных штрыхоў"
 
-#: ../src/widgets/toolbox.cpp:217
+#: ../src/widgets/toolbox.cpp:197
 msgid "Style of Paint Bucket fill objects"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:1075
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:976
 msgid "Insert node"
-msgstr "Ð\94адаÑ\86Ñ\8c Ð²Ð¾Ð´Ñ\81Ñ\82Ñ\83п Ð²Ñ\83зла"
+msgstr "УÑ\81Ñ\82авÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
 
-#: ../src/widgets/toolbox.cpp:1076
+#: ../src/widgets/toolbox.cpp:977
 msgid "Insert new nodes into selected segments"
 msgstr "Устаўляе новыя вузлы ў вылучаныя сэгмэнты"
 
-#: ../src/widgets/toolbox.cpp:1079
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:980
 msgid "Insert"
-msgstr "Ð\94Ñ\80Ñ\83каваць"
+msgstr "УÑ\81Ñ\82авÑ\96ць"
 
-#: ../src/widgets/toolbox.cpp:1087
+#: ../src/widgets/toolbox.cpp:988
 msgid "Delete selected nodes"
 msgstr "Выдаляе вылучаныя вузлы"
 
-#: ../src/widgets/toolbox.cpp:1097
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:998
 msgid "Join endnodes"
-msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð²Ð¾Ð´Ñ\81Ñ\82Ñ\83п Ð²Ñ\83зла"
+msgstr "Ð\97лÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c ÐºÐ°Ð½Ñ\86авÑ\8bÑ\8f Ð²Ñ\83злÑ\8b"
 
-#: ../src/widgets/toolbox.cpp:1098
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:999
 msgid "Join selected endnodes"
-msgstr "Ð\94алÑ\83Ñ\87ае Ñ\80Ñ\8bÑ\81Ñ\8b Ð´Ð° Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð²Ñ\83злоÑ\9e"
+msgstr "Ð\97лÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f ÐºÐ°Ð½Ñ\86авÑ\8bÑ\8f Ð²Ñ\83злÑ\8b"
 
-#: ../src/widgets/toolbox.cpp:1101
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1002
 msgid "Join"
-msgstr "Ð\94алÑ\83Ñ\87Ñ\8dнÑ\8cне:"
+msgstr "Ð\97лÑ\83Ñ\87Ñ\8bÑ\86Ñ\8c"
 
-#: ../src/widgets/toolbox.cpp:1108
-#, fuzzy
-msgid "Break nodes"
-msgstr "Апусьціць вузел"
+#: ../src/widgets/toolbox.cpp:1009
+msgid "Join Segment"
+msgstr "Злучыць адрэзкам"
 
-#: ../src/widgets/toolbox.cpp:1109
-#, fuzzy
-msgid "Break path at selected nodes"
-msgstr "Абрывае рысу на вылучаным вузьле"
+#: ../src/widgets/toolbox.cpp:1010
+msgid "Join selected endnodes with a new segment"
+msgstr "Злучыць вылучаныя канцавыя вузлы новым адрэзкам"
 
-#: ../src/widgets/toolbox.cpp:1119
-#, fuzzy
-msgid "Join with segment"
-msgstr "Выдаліць вузел"
+#: ../src/widgets/toolbox.cpp:1019
+msgid "Delete Segment"
+msgstr "Выдаліць адрэзак"
+
+#: ../src/widgets/toolbox.cpp:1020
+msgid "Split path between two non-endpoint nodes"
+msgstr ""
 
-#: ../src/widgets/toolbox.cpp:1120
+#: ../src/widgets/toolbox.cpp:1029
 #, fuzzy
-msgid "Join selected endnodes with a new segment"
-msgstr "Ð\94алÑ\83Ñ\87ае Ñ\80Ñ\8bÑ\81Ñ\8b Ð´Ð° Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð²Ñ\83злоÑ\9e"
+msgid "Node Break"
+msgstr "РазÑ\8cбÑ\96Ñ\86Ñ\8c"
 
-#: ../src/widgets/toolbox.cpp:1130
-msgid "Delete segment between two non-endpoint nodes"
-msgstr ""
+#: ../src/widgets/toolbox.cpp:1030
+#, fuzzy
+msgid "Break path at selected nodes"
+msgstr "Абрывае рысу на вылучаным вузьле"
 
-#: ../src/widgets/toolbox.cpp:1139
+#: ../src/widgets/toolbox.cpp:1039
 #, fuzzy
 msgid "Node Cusp"
-msgstr "Ð\92Ñ\83злÑ\8b"
+msgstr "Ð\9fадвоÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
 
-#: ../src/widgets/toolbox.cpp:1140
+#: ../src/widgets/toolbox.cpp:1040
 msgid "Make selected nodes corner"
 msgstr "Робіць вылучаныя вузлы кутамі"
 
-#: ../src/widgets/toolbox.cpp:1149
+#: ../src/widgets/toolbox.cpp:1049
 #, fuzzy
 msgid "Node Smooth"
-msgstr "РÑ\8dдагаваÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\97гладзÑ\96Ñ\86Ñ\8c ÐºÑ\80аÑ\96"
 
-#: ../src/widgets/toolbox.cpp:1150
+#: ../src/widgets/toolbox.cpp:1050
 msgid "Make selected nodes smooth"
 msgstr "Робіць вылучаныя вузлы згладжанымі"
 
-#: ../src/widgets/toolbox.cpp:1159
+#: ../src/widgets/toolbox.cpp:1059
+#, fuzzy
 msgid "Node Symmetric"
-msgstr ""
+msgstr "Падвоіць вузел"
 
-#: ../src/widgets/toolbox.cpp:1160
+#: ../src/widgets/toolbox.cpp:1060
 #, fuzzy
 msgid "Make selected nodes symmetric"
-msgstr "РобÑ\96Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злÑ\8b Ð·Ð³Ð»Ð°Ð´Ð¶Ð°Ð½Ñ\8bмі"
+msgstr "РобÑ\96Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð²Ñ\83злÑ\8b ÐºÑ\83Ñ\82амі"
 
-#: ../src/widgets/toolbox.cpp:1169
+#: ../src/widgets/toolbox.cpp:1069
 #, fuzzy
 msgid "Node Line"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð½Ð¾Ð²Ð°Ðµ Ð°ÐºÐ½Ð¾ Ñ\80Ñ\8dдагаванÑ\8cнÑ\8f"
+msgstr "Ð\9fÑ\80авеÑ\81Ñ\8cÑ\86Ñ\96 Ð»Ñ\96нÑ\96Ñ\8e"
 
-#: ../src/widgets/toolbox.cpp:1170
+#: ../src/widgets/toolbox.cpp:1070
 msgid "Make selected segments lines"
-msgstr "Робіць вылучаныя сэгмэнты рысамі"
+msgstr "Робіць вылучаныя сэгмэнты лініямі"
 
-#: ../src/widgets/toolbox.cpp:1179
+#: ../src/widgets/toolbox.cpp:1079
 #, fuzzy
 msgid "Node Curve"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ð°Ð¿Ñ\8fÑ\80Ñ\8dднÑ\96 Ð¿Ñ\80аглÑ\8fд"
+msgstr "ТÑ\8bп ÐºÑ\80Ñ\8bвой"
 
-#: ../src/widgets/toolbox.cpp:1180
+#: ../src/widgets/toolbox.cpp:1080
 msgid "Make selected segments curves"
-msgstr "РобÑ\96Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ñ\81Ñ\8dгмÑ\8dнÑ\82Ñ\8b Ð´Ñ\83гамі"
+msgstr "РобÑ\96Ñ\86Ñ\8c Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ñ\81Ñ\8dгмÑ\8dнÑ\82Ñ\8b ÐºÑ\80Ñ\8bвÑ\8bмі"
 
-#: ../src/widgets/toolbox.cpp:1189
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1089
 msgid "Show Handles"
-msgstr "Паказаць кіруючыя"
+msgstr "Паказаць ручкі"
 
-#: ../src/widgets/toolbox.cpp:1190
+#: ../src/widgets/toolbox.cpp:1090
 #, fuzzy
 msgid "Show the Bezier handles of selected nodes"
 msgstr "Далучае рысы да вылучаных вузлоў"
 
-#: ../src/widgets/toolbox.cpp:1200
-#, fuzzy
-msgid "Show Outline"
-msgstr "Паказаць контур"
-
-#: ../src/widgets/toolbox.cpp:1201
-#, fuzzy
-msgid "Show the outline of the path"
-msgstr "Папера карыстальніка"
-
-#: ../src/widgets/toolbox.cpp:1211
-#, fuzzy
-msgid "Next path effect parameter"
-msgstr "Стыль штрыхоўкі"
-
-#: ../src/widgets/toolbox.cpp:1212
-#, fuzzy
-msgid "Show next path effect parameter for editing"
-msgstr "Стыль штрыхоўкі"
-
-#: ../src/widgets/toolbox.cpp:1223
-#, fuzzy
-msgid "Edit the clipping path of the object"
-msgstr "Раўнае аб'ект"
-
-#: ../src/widgets/toolbox.cpp:1233
-#, fuzzy
-msgid "Edit mask path"
-msgstr "Захаваць як:"
-
-#: ../src/widgets/toolbox.cpp:1234
-#, fuzzy
-msgid "Edit the mask of the object"
-msgstr "Выдаляе вылучаныя аб'екты"
-
-#: ../src/widgets/toolbox.cpp:1248
+#: ../src/widgets/toolbox.cpp:1114
 msgid "X coordinate:"
-msgstr ""
+msgstr "Каардыната X:"
 
-#: ../src/widgets/toolbox.cpp:1248
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1114
 msgid "X coordinate of selected node(s)"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\9aааÑ\80дÑ\8bнаÑ\82а X Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð²Ñ\83злоÑ\9e"
 
-#: ../src/widgets/toolbox.cpp:1266
+#: ../src/widgets/toolbox.cpp:1132
 msgid "Y coordinate:"
-msgstr ""
+msgstr "Каардыната Y:"
 
-#: ../src/widgets/toolbox.cpp:1266
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1132
 msgid "Y coordinate of selected node(s)"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\9aааÑ\80дÑ\8bнаÑ\82а Y Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\85 Ð²Ñ\83злоÑ\9e"
 
-#: ../src/widgets/toolbox.cpp:1688
+#: ../src/widgets/toolbox.cpp:1545
 msgid "Star: Change number of corners"
-msgstr ""
+msgstr "Зорка: зьмяніць колькасьць вуглоў"
 
-#: ../src/widgets/toolbox.cpp:1730
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1587
 msgid "Star: Change spoke ratio"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cнÑ\96"
+msgstr "Ð\97оÑ\80ка: Ð·Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ñ\81Ñ\82аÑ\81Ñ\83нак Ð¿Ñ\80омнÑ\8fÑ\9e"
 
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1630
 msgid "Make polygon"
-msgstr ""
+msgstr "Стварыць шматкутнік"
 
-#: ../src/widgets/toolbox.cpp:1773
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1630
 msgid "Make star"
-msgstr "ЭкÑ\81паÑ\80Ñ\82аваÑ\86Ñ\8c ÐºÑ\80опкавÑ\8b Ð²Ñ\96даÑ\80Ñ\8bÑ\81"
+msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð·Ð¾Ñ\80кÑ\83"
 
-#: ../src/widgets/toolbox.cpp:1808
+#: ../src/widgets/toolbox.cpp:1665
 msgid "Star: Change rounding"
-msgstr ""
+msgstr "Зорка: зьмяніць закругленьне"
 
-#: ../src/widgets/toolbox.cpp:1842
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1699
 msgid "Star: Change randomization"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ñ\82Ñ\80анÑ\81Ñ\84аÑ\80маванÑ\8cнÑ\96"
+msgstr "Ð\97оÑ\80ка: Ð·Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð°Ð´Ð²Ð¾Ð»Ñ\8cнаÑ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/widgets/toolbox.cpp:2029
+#: ../src/widgets/toolbox.cpp:1884
 msgid "Regular polygon (with one handle) instead of a star"
-msgstr ""
+msgstr "Правільны шматкутнік (з адной ручкай) замест зоркі"
 
-#: ../src/widgets/toolbox.cpp:2036
+#: ../src/widgets/toolbox.cpp:1891
 msgid "Star instead of a regular polygon (with one handle)"
-msgstr ""
+msgstr "Зорка замест правільнага шматкутніка (з адной ручкай)"
 
-#: ../src/widgets/toolbox.cpp:2057
+#: ../src/widgets/toolbox.cpp:1911
 msgid "triangle/tri-star"
-msgstr ""
+msgstr "трохкутнік/трохзорка"
 
-#: ../src/widgets/toolbox.cpp:2057
+#: ../src/widgets/toolbox.cpp:1911
 msgid "square/quad-star"
-msgstr ""
+msgstr "квадрат/чатырохзорка"
 
-#: ../src/widgets/toolbox.cpp:2057
+#: ../src/widgets/toolbox.cpp:1911
 msgid "pentagon/five-pointed star"
-msgstr ""
+msgstr "пяцікутнік/пяціканцовая зорка"
 
-#: ../src/widgets/toolbox.cpp:2057
+#: ../src/widgets/toolbox.cpp:1911
 msgid "hexagon/six-pointed star"
-msgstr ""
+msgstr "шасьцікутнік/шасьціканцовая зорка"
 
-#: ../src/widgets/toolbox.cpp:2060
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1914
 msgid "Corners"
-msgstr "Куты:"
+msgstr "Куты"
 
-#: ../src/widgets/toolbox.cpp:2060
+#: ../src/widgets/toolbox.cpp:1914
 msgid "Corners:"
 msgstr "Куты:"
 
-#: ../src/widgets/toolbox.cpp:2060
+#: ../src/widgets/toolbox.cpp:1914
 msgid "Number of corners of a polygon or star"
-msgstr ""
+msgstr "Колькасьць канцоў шматкутніка ці зоркі"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:1927
 msgid "thin-ray star"
-msgstr ""
+msgstr "зорка з тонкімі промнямі"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:1927
 msgid "pentagram"
-msgstr ""
+msgstr "пэнтаграма"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:1927
 msgid "hexagram"
-msgstr ""
+msgstr "гексаграма"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:1927
 msgid "heptagram"
-msgstr ""
+msgstr "гептаграма"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:1927
 msgid "octagram"
-msgstr ""
+msgstr "актаграма"
 
-#: ../src/widgets/toolbox.cpp:2073
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1927
 msgid "regular polygon"
-msgstr "Ð\86нÑ\81Ñ\82Ñ\80Ñ\83мÑ\8dнÑ\82 Ð·Ð¾Ñ\80кÑ\96 - Ñ\81Ñ\82ваÑ\80ае Ð·Ð¾Ñ\80кÑ\96 Ð¹ Ð¿Ð°Ð»Ñ\96гонÑ\8b"
+msgstr "пÑ\80авÑ\96лÑ\8cнÑ\8b Ñ\88маÑ\82кÑ\83Ñ\82нÑ\96к"
 
-#: ../src/widgets/toolbox.cpp:2076
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1930
 msgid "Spoke ratio"
-msgstr "Ð\9fÑ\80апоÑ\80Ñ\86Ñ\8bÑ\96:"
+msgstr "СÑ\82аÑ\81Ñ\83нак Ð¿Ñ\80омнÑ\8fÑ\9e"
 
-#: ../src/widgets/toolbox.cpp:2076
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1930
 msgid "Spoke ratio:"
-msgstr "Ð\9fÑ\80апоÑ\80Ñ\86Ñ\8bÑ\96:"
+msgstr "СÑ\82аÑ\81Ñ\83нак Ð¿Ñ\80омнÑ\8fÑ\9e:"
 
 #. 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
+#: ../src/widgets/toolbox.cpp:1933
 msgid "Base radius to tip radius ratio"
-msgstr ""
+msgstr "Стасунак між асноўным радыюсам і радыюсам да вяршыні"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:1951
 msgid "stretched"
-msgstr ""
+msgstr "расьцягнуты"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:1951
 msgid "twisted"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:1951
+#, fuzzy
 msgid "slightly pinched"
-msgstr ""
+msgstr "крышу няправільнай формы"
 
-#: ../src/widgets/toolbox.cpp:2097
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1951
 msgid "NOT rounded"
-msgstr "ЧÑ\8bÑ\80вонÑ\8b:"
+msgstr "Ð\9dÐ\95 Ð·Ð°ÐºÑ\80Ñ\83гленÑ\8bÑ\8f"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:1951
 msgid "slightly rounded"
-msgstr ""
+msgstr "трохі закругленыя"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:1951
 msgid "visibly rounded"
-msgstr ""
+msgstr "бачна закругленыя"
 
-#: ../src/widgets/toolbox.cpp:2097
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1951
 msgid "well rounded"
-msgstr "Ð\97апаÑ\9eненÑ\8cне Ð¹ Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eка"
+msgstr "добÑ\80а Ð·Ð°ÐºÑ\80Ñ\83гленÑ\8bÑ\8f"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:1951
 msgid "amply rounded"
-msgstr ""
+msgstr "значна закругленыя"
 
-#: ../src/widgets/toolbox.cpp:2097 ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:1951
+#: ../src/widgets/toolbox.cpp:1966
+#, fuzzy
 msgid "blown up"
-msgstr ""
+msgstr "Курсор уверх"
 
-#: ../src/widgets/toolbox.cpp:2100
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1954
 msgid "Rounded"
-msgstr "ЧÑ\8bÑ\80вонÑ\8b:"
+msgstr "Ð\97акÑ\80Ñ\83гленÑ\8bÑ\8f"
 
-#: ../src/widgets/toolbox.cpp:2100
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:1954
 msgid "Rounded:"
-msgstr "ЧÑ\8bÑ\80вонÑ\8b:"
+msgstr "Ð\97акÑ\80Ñ\83гленÑ\8bÑ\8f:"
 
-#: ../src/widgets/toolbox.cpp:2100
+#: ../src/widgets/toolbox.cpp:1954
 msgid "How much rounded are the corners (0 for sharp)"
-msgstr ""
+msgstr "Наколькі закругленыя куты (0 — вострыя)"
 
-#: ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:1966
 #, fuzzy
 msgid "NOT randomized"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\9dе Ð·Ð°Ð³Ñ\80Ñ\83жанÑ\8b"
 
-#: ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:1966
 msgid "slightly irregular"
-msgstr ""
+msgstr "крышу няправільнай формы"
 
-#: ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:1966
 #, fuzzy
 msgid "visibly randomized"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "баÑ\87на Ð·Ð°ÐºÑ\80Ñ\83гленÑ\8bÑ\8f"
 
-#: ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:1966
 #, fuzzy
 msgid "strongly randomized"
 msgstr "Пазыцыя й памер"
 
-#: ../src/widgets/toolbox.cpp:2115
+#: ../src/widgets/toolbox.cpp:1969
 #, fuzzy
 msgid "Randomized"
 msgstr "Падняць вузел"
 
-#: ../src/widgets/toolbox.cpp:2115
+#: ../src/widgets/toolbox.cpp:1969
 msgid "Randomized:"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:2115
+#: ../src/widgets/toolbox.cpp:1969
 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:1984
+#: ../src/widgets/toolbox.cpp:2919
+#: ../src/widgets/toolbox.cpp:3498
+#: ../src/widgets/toolbox.cpp:5360
 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:1985
+#: ../src/widgets/toolbox.cpp:2920
+msgid "Reset shape parameters to defaults (use Inkscape Preferences > Tools to change defaults)"
+msgstr "Вернуць парамэтры фіґуры да прадвызначаных (гл. Настаўленьні > Інструмэнты, каб зьмяніць прадвызначэньні)"
 
-#: ../src/widgets/toolbox.cpp:2203
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2057
 msgid "Change rectangle"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð¿Ñ\80аÑ\81Ñ\82акÑ\83Ñ\82нÑ\96к"
 
-#: ../src/widgets/toolbox.cpp:2396
+#: ../src/widgets/toolbox.cpp:2249
 msgid "W:"
-msgstr ""
+msgstr "Ш:"
 
-#: ../src/widgets/toolbox.cpp:2396
+#: ../src/widgets/toolbox.cpp:2249
 msgid "Width of rectangle"
-msgstr ""
-
-#: ../src/widgets/toolbox.cpp:2413
-#, fuzzy
-msgid "H:"
-msgstr "Тон:"
+msgstr "Шырыня прастакутніка"
 
-#: ../src/widgets/toolbox.cpp:2413
+#: ../src/widgets/toolbox.cpp:2266
 msgid "Height of rectangle"
-msgstr ""
+msgstr "Вышыня прастакутніка"
 
-#: ../src/widgets/toolbox.cpp:2427 ../src/widgets/toolbox.cpp:2442
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2280
+#: ../src/widgets/toolbox.cpp:2295
 msgid "not rounded"
-msgstr "ЧÑ\8bÑ\80вонÑ\8b:"
+msgstr "не Ð·Ð°ÐºÑ\80Ñ\83гленÑ\8bÑ\8f"
 
-#: ../src/widgets/toolbox.cpp:2430
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2283
 msgid "Horizontal radius"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\8cна"
+msgstr "Ð\93аÑ\80Ñ\8bзанÑ\82алÑ\8cнÑ\8b Ñ\80адÑ\8bÑ\8eÑ\81"
 
-#: ../src/widgets/toolbox.cpp:2430
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2283
 msgid "Rx:"
-msgstr "RY:"
+msgstr "Rx:"
 
-#: ../src/widgets/toolbox.cpp:2430
+#: ../src/widgets/toolbox.cpp:2283
 msgid "Horizontal radius of rounded corners"
-msgstr ""
+msgstr "Гарызантальны радыюс закругленых кутоў"
 
-#: ../src/widgets/toolbox.cpp:2445
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2298
 msgid "Vertical radius"
-msgstr "Ð\90длÑ\8eÑ\81Ñ\82Ñ\80аваÑ\86Ñ\8c Ð²Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cна"
+msgstr "Ð\92Ñ\8dÑ\80Ñ\82Ñ\8bкалÑ\8cнÑ\8b Ñ\80адÑ\8bÑ\8eÑ\81"
 
-#: ../src/widgets/toolbox.cpp:2445
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2298
 msgid "Ry:"
-msgstr "RY:"
+msgstr "Ry:"
 
-#: ../src/widgets/toolbox.cpp:2445
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2298
 msgid "Vertical radius of rounded corners"
-msgstr ""
-"Інструмэнт прамакутніка - стварае прамакутнікі й квадраты з магчымымі "
-"закругленымі кутамі"
+msgstr "Вэртыкальны радыюс закругленых кутоў"
 
-#: ../src/widgets/toolbox.cpp:2464
+#: ../src/widgets/toolbox.cpp:2317
 msgid "Not rounded"
-msgstr ""
+msgstr "Не закругленыя"
 
-#: ../src/widgets/toolbox.cpp:2465
+#: ../src/widgets/toolbox.cpp:2318
 msgid "Make corners sharp"
-msgstr ""
+msgstr "Зрабіць куты вострымі"
 
 #. TODO: use the correct axis here, too
-#: ../src/widgets/toolbox.cpp:2654
+#: ../src/widgets/toolbox.cpp:2507
 msgid "3D Box: Change perspective (angle of infinite axis)"
-msgstr ""
+msgstr "Трохмерная скрыня: зьмяніць пэрспэктыву (вугал бясконцых восяў)"
 
-#: ../src/widgets/toolbox.cpp:2723
+#: ../src/widgets/toolbox.cpp:2576
 msgid "Angle in X direction"
-msgstr ""
+msgstr "Вугал у напрамку X"
 
 #. Translators: PL is short for 'perspective line'
-#: ../src/widgets/toolbox.cpp:2725
+#: ../src/widgets/toolbox.cpp:2578
 msgid "Angle of PLs in X direction"
-msgstr ""
+msgstr "Вугал ЛП ў напрамку X"
 
 #. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/toolbox.cpp:2747
+#: ../src/widgets/toolbox.cpp:2600
 msgid "State of VP in X direction"
-msgstr ""
+msgstr "Стан ПЗ у напрамку X"
 
-#: ../src/widgets/toolbox.cpp:2748
+#: ../src/widgets/toolbox.cpp:2601
 msgid "Toggle VP in X direction between 'finite' and 'infinite' (=parallel)"
-msgstr ""
+msgstr "Пераключыць ПЗ ў напрамку X між «канечнымі» й «бясконцымі» (=паралелі)"
 
-#: ../src/widgets/toolbox.cpp:2763
+#: ../src/widgets/toolbox.cpp:2616
 msgid "Angle in Y direction"
-msgstr ""
+msgstr "Вугал у напрамку Y"
 
-#: ../src/widgets/toolbox.cpp:2763
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2616
 msgid "Angle Y:"
-msgstr "Ð\9aÑ\83Ñ\82:"
+msgstr "Ð\92Ñ\83гал Ð¿Ð° Y:"
 
 #. Translators: PL is short for 'perspective line'
-#: ../src/widgets/toolbox.cpp:2765
+#: ../src/widgets/toolbox.cpp:2618
 msgid "Angle of PLs in Y direction"
-msgstr ""
+msgstr "Вугал ЛП ў напрамку Y"
 
 #. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/toolbox.cpp:2786
+#: ../src/widgets/toolbox.cpp:2639
 msgid "State of VP in Y direction"
-msgstr ""
+msgstr "Стан ПЗ у напрамку Y"
 
-#: ../src/widgets/toolbox.cpp:2787
+#: ../src/widgets/toolbox.cpp:2640
 msgid "Toggle VP in Y direction between 'finite' and 'infinite' (=parallel)"
-msgstr ""
+msgstr "Пераключыць ПЗ ў напрамку Y між «канечнымі» й «бясконцымі» (=паралелі)"
 
-#: ../src/widgets/toolbox.cpp:2802
+#: ../src/widgets/toolbox.cpp:2655
 msgid "Angle in Z direction"
-msgstr ""
+msgstr "Вугал у напрамку Z"
 
 #. Translators: PL is short for 'perspective line'
-#: ../src/widgets/toolbox.cpp:2804
+#: ../src/widgets/toolbox.cpp:2657
 msgid "Angle of PLs in Z direction"
-msgstr ""
+msgstr "Вугал ЛП ў напрамку Z"
 
 #. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/toolbox.cpp:2825
+#: ../src/widgets/toolbox.cpp:2678
 msgid "State of VP in Z direction"
-msgstr ""
+msgstr "Стан ПЗ у напрамку Z"
 
-#: ../src/widgets/toolbox.cpp:2826
+#: ../src/widgets/toolbox.cpp:2679
 msgid "Toggle VP in Z direction between 'finite' and 'infinite' (=parallel)"
-msgstr ""
+msgstr "Пераключыць ПЗ ў напрамку Z між «канечнымі» й «бясконцымі» (=паралелі)"
 
-#: ../src/widgets/toolbox.cpp:2883
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2736
 msgid "Change spiral"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ñ\81Ñ\8cпÑ\96Ñ\80алÑ\8c"
 
-#: ../src/widgets/toolbox.cpp:3024
+#: ../src/widgets/toolbox.cpp:2876
 msgid "just a curve"
-msgstr ""
+msgstr "проста крывая"
 
-#: ../src/widgets/toolbox.cpp:3024
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2876
 msgid "one full revolution"
-msgstr "Ð\90баÑ\80оÑ\82:"
+msgstr "адзÑ\96н Ð¿Ð¾Ñ\9eнÑ\8b Ð°Ð²Ð°Ñ\80оÑ\82"
 
-#: ../src/widgets/toolbox.cpp:3027
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2879
 msgid "Number of turns"
-msgstr "Ð\9dÑ\8fма Ñ\80аÑ\84аÑ\80боÑ\9eкÑ\96"
+msgstr "Ð\9aолÑ\8cкаÑ\81Ñ\8cÑ\86Ñ\8c Ð°Ð²Ð°Ñ\80оÑ\82аÑ\9e"
 
-#: ../src/widgets/toolbox.cpp:3027
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2879
 msgid "Turns:"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне:"
+msgstr "Ð\90ваÑ\80оÑ\82аÑ\9e:"
 
-#: ../src/widgets/toolbox.cpp:3027
+#: ../src/widgets/toolbox.cpp:2879
 msgid "Number of revolutions"
-msgstr ""
+msgstr "Колькасьць аваротаў"
 
-#: ../src/widgets/toolbox.cpp:3038
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2890
 msgid "circle"
-msgstr "Файл"
+msgstr "акÑ\80Ñ\83жнаÑ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:2890
 msgid "edge is much denser"
-msgstr ""
+msgstr "край нашмат шчыльнейшы"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:2890
 msgid "edge is denser"
-msgstr ""
+msgstr "край шчыльнейшы"
 
-#: ../src/widgets/toolbox.cpp:3038
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2890
 msgid "even"
-msgstr "не запаўняць"
+msgstr "цотны"
 
-#: ../src/widgets/toolbox.cpp:3038
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2890
 msgid "center is denser"
-msgstr "Стварыць лучыва"
+msgstr "сярэдзіна шчыльнейшая"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:2890
 msgid "center is much denser"
-msgstr ""
+msgstr "сярэдзіна нашмат шчыльнейшая"
 
-#: ../src/widgets/toolbox.cpp:3041
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2893
 msgid "Divergence"
-msgstr "Ð\90дÑ\81оÑ\82ка"
+msgstr "Ð\90дÑ\85Ñ\96ленÑ\8cне"
 
-#: ../src/widgets/toolbox.cpp:3041
+#: ../src/widgets/toolbox.cpp:2893
 msgid "Divergence:"
-msgstr ""
+msgstr "Адхіленьне:"
 
-#: ../src/widgets/toolbox.cpp:3041
+#: ../src/widgets/toolbox.cpp:2893
 msgid "How much denser/sparser are outer revolutions; 1 = uniform"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3052
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:2904
 msgid "starts from center"
-msgstr "Выбярыце друкарку"
-
-#: ../src/widgets/toolbox.cpp:3052
-msgid "starts mid-way"
-msgstr ""
-
-#: ../src/widgets/toolbox.cpp:3052
-msgid "starts near edge"
-msgstr ""
-
-#: ../src/widgets/toolbox.cpp:3055
-#, fuzzy
-msgid "Inner radius"
-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 ""
-
-#: ../src/widgets/toolbox.cpp:3101
+#: ../src/widgets/toolbox.cpp:2904
 #, fuzzy
-msgid "<b>Mode:</b>"
-msgstr "Ð\9aÑ\83Ñ\82:"
+msgid "starts mid-way"
+msgstr "ЯÑ\80каÑ\81Ñ\8cÑ\86Ñ\8c Ð\9cлеÑ\87нага Ñ\88лÑ\8fÑ\85Ñ\83"
 
-#: ../src/widgets/toolbox.cpp:3121
-msgid "Bézier"
-msgstr ""
+#: ../src/widgets/toolbox.cpp:2904
+msgid "starts near edge"
+msgstr "пачынаецца ад краю"
 
-#: ../src/widgets/toolbox.cpp:3122
-msgid "Regular Bézier mode"
-msgstr ""
+#: ../src/widgets/toolbox.cpp:2907
+msgid "Inner radius"
+msgstr "Нутраны радыюс"
 
-#: ../src/widgets/toolbox.cpp:3128
-#, fuzzy
-msgid "Spiro"
-msgstr "Спіраль"
+#: ../src/widgets/toolbox.cpp:2907
+msgid "Inner radius:"
+msgstr "Нутраны радыюс:"
 
-#: ../src/widgets/toolbox.cpp:3129
-#, fuzzy
-msgid "Spiro splines mode"
-msgstr "Прыбраць водступ вузла"
+#: ../src/widgets/toolbox.cpp:2907
+msgid "Radius of the innermost revolution (relative to the spiral size)"
+msgstr "Радыюс нутранага вітка (адносна да памеру сьпіралі)"
 
 #. Width
-#: ../src/widgets/toolbox.cpp:3238
+#: ../src/widgets/toolbox.cpp:3023
+#, fuzzy
 msgid "(pinch tweak)"
-msgstr ""
+msgstr "2. Зьмяніць узятае значэньне:"
 
-#: ../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:3023
+#: ../src/widgets/toolbox.cpp:3039
+#: ../src/widgets/toolbox.cpp:3200
+#: ../src/widgets/toolbox.cpp:3328
+#: ../src/widgets/toolbox.cpp:3360
 msgid "(default)"
-msgstr "Дапомнае"
+msgstr "(прадвызначана)"
 
-#: ../src/widgets/toolbox.cpp:3238
+#: ../src/widgets/toolbox.cpp:3023
 #, fuzzy
 msgid "(broad tweak)"
-msgstr "Узор:"
+msgstr "(шырокі контур)"
 
-#: ../src/widgets/toolbox.cpp:3241
+#: ../src/widgets/toolbox.cpp:3026
+#, fuzzy
 msgid "The width of the tweak area (relative to the visible canvas area)"
-msgstr ""
+msgstr "Шырыня каліґрафічнага пяра (адносная да бачнай вобласьці палатна)"
 
 #. Force
-#: ../src/widgets/toolbox.cpp:3254
+#: ../src/widgets/toolbox.cpp:3039
 msgid "(minimum force)"
-msgstr ""
+msgstr "(найменшая моц)"
 
-#: ../src/widgets/toolbox.cpp:3254
+#: ../src/widgets/toolbox.cpp:3039
 msgid "(maximum force)"
-msgstr ""
+msgstr "(найбольшая моц)"
 
-#: ../src/widgets/toolbox.cpp:3257
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3042
 msgid "Force"
-msgstr "ТÑ\80аÑ\81Ñ\8bÑ\80аваÑ\86Ñ\8c"
+msgstr "Ð\9cоÑ\86"
 
-#: ../src/widgets/toolbox.cpp:3257
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3042
 msgid "Force:"
-msgstr "ТÑ\80аÑ\81Ñ\8bÑ\80аваÑ\86Ñ\8c"
+msgstr "Ð\9cоÑ\86:"
 
-#: ../src/widgets/toolbox.cpp:3257
+#: ../src/widgets/toolbox.cpp:3042
 msgid "The force of the tweak action"
-msgstr ""
+msgstr "Моц карэкцыйнага дзеяньня"
 
-#: ../src/widgets/toolbox.cpp:3274
+#: ../src/widgets/toolbox.cpp:3059
 msgid "Push mode"
-msgstr ""
+msgstr "Рэжым выштурхваньня"
 
-#: ../src/widgets/toolbox.cpp:3275
+#: ../src/widgets/toolbox.cpp:3060
 msgid "Push parts of paths in any direction"
-msgstr ""
+msgstr "Расштурхаць часткі шляха ў розных напрамках"
 
-#: ../src/widgets/toolbox.cpp:3281
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3066
 msgid "Shrink mode"
-msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð²Ð¾Ð´Ñ\81Ñ\82Ñ\83п Ð²Ñ\83зла"
+msgstr "РÑ\8dжÑ\8bм Ñ\81Ñ\8cÑ\86Ñ\96Ñ\81канÑ\8cнÑ\8f"
 
-#: ../src/widgets/toolbox.cpp:3282
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3067
 msgid "Shrink (inset) parts of paths"
-msgstr "РазлÑ\83Ñ\87ае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ñ\88лÑ\8fÑ\85 Ð½Ð° Ð¿Ð°Ð´Ñ\88лÑ\8fÑ\85Ñ\96"
+msgstr "Ð\97Ñ\8cменÑ\88Ñ\8bÑ\86Ñ\8c (Ñ\81Ñ\8cÑ\86Ñ\96Ñ\81нÑ\83Ñ\86Ñ\8c) Ñ\87аÑ\81Ñ\82кÑ\96 Ñ\88лÑ\8fÑ\85оÑ\9e"
 
-#: ../src/widgets/toolbox.cpp:3288
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3073
 msgid "Grow mode"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "РÑ\8dжÑ\8bмÑ\83 Ñ\80оÑ\81Ñ\82Ñ\83"
 
-#: ../src/widgets/toolbox.cpp:3289
+#: ../src/widgets/toolbox.cpp:3074
 msgid "Grow (outset) parts of paths"
-msgstr ""
+msgstr "Павялічыць (расьцягнуць) часткі шляхоў"
 
-#: ../src/widgets/toolbox.cpp:3295
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3080
 msgid "Attract mode"
-msgstr "Ð\9dазва Ð°Ñ\82Ñ\80Ñ\8bбÑ\83Ñ\82а"
+msgstr "РÑ\8dжÑ\8bм Ð¿Ñ\80Ñ\8bÑ\86Ñ\8fгненÑ\8cнÑ\8f"
 
-#: ../src/widgets/toolbox.cpp:3296
+#: ../src/widgets/toolbox.cpp:3081
 msgid "Attract parts of paths towards cursor"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3302
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3087
 msgid "Repel mode"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "РÑ\8dжÑ\8bм Ð°Ð´Ð¿Ñ\96Ñ\85ванÑ\8cнÑ\8f"
 
-#: ../src/widgets/toolbox.cpp:3303
+#: ../src/widgets/toolbox.cpp:3088
 msgid "Repel parts of paths from cursor"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3309
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3094
 msgid "Roughen mode"
-msgstr "Ð\94адаÑ\86Ñ\8c Ð²Ð¾Ð´Ñ\81Ñ\82Ñ\83п Ð²Ñ\83зла"
+msgstr "РÑ\8dжÑ\8bмÑ\83 Ñ\88Ñ\83Ñ\80паÑ\82аÑ\81Ñ\8cÑ\86Ñ\96"
 
-#: ../src/widgets/toolbox.cpp:3310
+#: ../src/widgets/toolbox.cpp:3095
 msgid "Roughen parts of paths"
-msgstr ""
+msgstr "Зрабіць больш шурпатымі часткі шляхоў"
 
-#: ../src/widgets/toolbox.cpp:3316
+#: ../src/widgets/toolbox.cpp:3101
 msgid "Color paint mode"
-msgstr ""
+msgstr "Рэжым рысаваньня колера"
 
-#: ../src/widgets/toolbox.cpp:3317
+#: ../src/widgets/toolbox.cpp:3102
 #, fuzzy
 msgid "Paint the tool's color upon selected objects"
-msgstr "Выдаляе вылучаныя аб'екты"
+msgstr "Выдаляе вылучаныя абʼекты"
 
-#: ../src/widgets/toolbox.cpp:3323
+#: ../src/widgets/toolbox.cpp:3108
 #, fuzzy
 msgid "Color jitter mode"
-msgstr "Ð\9fаднÑ\8fÑ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "РÑ\8dжÑ\8bм ÐºÐ¾Ð»ÐµÑ\80а Ñ\9e Ð½Ðµ Ð¿Ð°Ð´Ñ\82Ñ\80Ñ\8bмлÑ\96ваеÑ\86Ñ\86а: %s"
 
-#: ../src/widgets/toolbox.cpp:3324
+#: ../src/widgets/toolbox.cpp:3109
 #, fuzzy
 msgid "Jitter the colors of selected objects"
-msgstr "Ð\92Ñ\8bдалÑ\8fе Ð²Ñ\8bлÑ\83Ñ\87анÑ\8bÑ\8f Ð°Ð±'екÑ\82Ñ\8b"
+msgstr "Ð\9fеÑ\80акÑ\83лÑ\8cвае Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b Ð°Ð±'екÑ\82 Ð¿Ð° Ð³Ð°Ñ\80Ñ\8bзанÑ\82алÑ\96"
 
-#: ../src/widgets/toolbox.cpp:3329
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3114
 msgid "Mode:"
 msgstr "Рэжым:"
 
-#: ../src/widgets/toolbox.cpp:3350
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3134
 msgid "Channels:"
-msgstr "Ð\90дмÑ\8fнÑ\96Ñ\86Ñ\8c"
+msgstr "Ð\9aаналÑ\8b:"
 
-#: ../src/widgets/toolbox.cpp:3361
+#: ../src/widgets/toolbox.cpp:3145
 msgid "In color mode, act on objects' hue"
-msgstr ""
+msgstr "У рэжыме колера працаваць з адценьнем абʼекта"
 
-#. TRANSLATORS:  "H" here stands for hue
-#: ../src/widgets/toolbox.cpp:3365
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3148
 msgid "H"
-msgstr "Тон:"
+msgstr "Ð\90"
 
-#: ../src/widgets/toolbox.cpp:3376
+#: ../src/widgets/toolbox.cpp:3159
 msgid "In color mode, act on objects' saturation"
-msgstr ""
+msgstr "У рэжыме колера працаваць з насычанасьцю абʼекта"
 
-#. TRANSLATORS: "S" here stands for Saturation
-#: ../src/widgets/toolbox.cpp:3380
+#: ../src/widgets/toolbox.cpp:3162
 msgid "S"
-msgstr ""
+msgstr "Н"
 
-#: ../src/widgets/toolbox.cpp:3391
+#: ../src/widgets/toolbox.cpp:3173
 msgid "In color mode, act on objects' lightness"
-msgstr ""
+msgstr "У рэжыме колера працаваць са сьветласьцю абʼекта"
 
-#. TRANSLATORS: "L" here stands for Lightness
-#: ../src/widgets/toolbox.cpp:3395
+#: ../src/widgets/toolbox.cpp:3176
 msgid "L"
-msgstr ""
+msgstr "С"
 
-#: ../src/widgets/toolbox.cpp:3406
+#: ../src/widgets/toolbox.cpp:3187
 msgid "In color mode, act on objects' opacity"
-msgstr ""
+msgstr "У рэжыме колера працаваць з непразрыстасьцю абʼекта"
 
-#. TRANSLATORS: "O" here stands for Opacity
-#: ../src/widgets/toolbox.cpp:3410
+#: ../src/widgets/toolbox.cpp:3190
 msgid "O"
-msgstr ""
+msgstr "Н"
 
 #. Fidelity
-#: ../src/widgets/toolbox.cpp:3420
+#: ../src/widgets/toolbox.cpp:3200
 msgid "(rough, simplified)"
-msgstr ""
+msgstr "(груба, спрошчана)"
 
-#: ../src/widgets/toolbox.cpp:3420
+#: ../src/widgets/toolbox.cpp:3200
 msgid "(fine, but many nodes)"
-msgstr ""
+msgstr "(добра, але шмат вузлоў)"
 
-#: ../src/widgets/toolbox.cpp:3423
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3203
 msgid "Fidelity"
-msgstr "СанÑ\86Ñ\96мÑ\8dÑ\82аÑ\80"
+msgstr "Ð\94акладнаÑ\81Ñ\8cÑ\86Ñ\8c"
 
-#: ../src/widgets/toolbox.cpp:3423
+#: ../src/widgets/toolbox.cpp:3203
 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"
+#: ../src/widgets/toolbox.cpp:3204
+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
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3221
+#: ../src/widgets/toolbox.cpp:3473
 msgid "Pressure"
-msgstr "Ð\97Ñ\8cбеÑ\80агÑ\87Ñ\8b"
+msgstr "Ð\9dаÑ\86Ñ\96Ñ\81к"
 
-#: ../src/widgets/toolbox.cpp:3442
+#: ../src/widgets/toolbox.cpp:3222
 msgid "Use the pressure of the input device to alter the force of tweak action"
 msgstr ""
 
 #. Width
-#: ../src/widgets/toolbox.cpp:3642 ../src/widgets/toolbox.cpp:4315
+#: ../src/widgets/toolbox.cpp:3328
 msgid "(hairline)"
-msgstr ""
+msgstr "(воласная лінія)"
 
-#: ../src/widgets/toolbox.cpp:3642 ../src/widgets/toolbox.cpp:4315
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3328
 msgid "(broad stroke)"
-msgstr "Узор:"
+msgstr "(шырокі контур)"
 
-#: ../src/widgets/toolbox.cpp:3645 ../src/widgets/toolbox.cpp:4318
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3331
 msgid "Pen Width"
-msgstr "Шырыня:"
+msgstr "Шырыня пяра"
 
-#: ../src/widgets/toolbox.cpp:3646
+#: ../src/widgets/toolbox.cpp:3332
 msgid "The width of the calligraphic pen (relative to the visible canvas area)"
-msgstr ""
+msgstr "Шырыня каліґрафічнага пяра (адносная да бачнай вобласьці палатна)"
 
 #. Thinning
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:3344
 msgid "(speed blows up stroke)"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:3344
 msgid "(slight widening)"
-msgstr ""
+msgstr "(крыху пашыраецца)"
 
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:3344
 msgid "(constant width)"
-msgstr ""
+msgstr "(нязьменная шырыня)"
 
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:3344
 msgid "(slight thinning, default)"
-msgstr ""
+msgstr "(крыху звужаецца, прадвызначана)"
 
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:3344
+#, fuzzy
 msgid "(speed deflates stroke)"
-msgstr ""
+msgstr "Выберы стыль абрысоўваньня"
 
-#: ../src/widgets/toolbox.cpp:3661
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3347
 msgid "Stroke Thinning"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "Ð\9fаÑ\82анÑ\87Ñ\8dнÑ\8cне Ð¼Ð°Ð·ÐºÐ°"
 
-#: ../src/widgets/toolbox.cpp:3661
+#: ../src/widgets/toolbox.cpp:3347
 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)"
+#: ../src/widgets/toolbox.cpp:3348
+msgid "How much velocity thins the stroke (> 0 makes fast strokes thinner, < 0 makes them broader, 0 makes width independent of velocity)"
 msgstr ""
 
 #. Angle
-#: ../src/widgets/toolbox.cpp:3674
+#: ../src/widgets/toolbox.cpp:3360
 msgid "(left edge up)"
-msgstr ""
+msgstr "(левы край уверх)"
 
-#: ../src/widgets/toolbox.cpp:3674
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3360
 msgid "(horizontal)"
-msgstr "Адлюстраваць гарызантальна"
+msgstr "(гарызантальны)"
 
-#: ../src/widgets/toolbox.cpp:3674
+#: ../src/widgets/toolbox.cpp:3360
 msgid "(right edge up)"
-msgstr ""
+msgstr "(правы край уверх)"
 
-#: ../src/widgets/toolbox.cpp:3677
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3363
 msgid "Pen Angle"
-msgstr "Ð\9aÑ\83Ñ\82"
+msgstr "Ð\92Ñ\83гал Ð¿Ñ\8fÑ\80а"
 
-#: ../src/widgets/toolbox.cpp:3677
+#: ../src/widgets/toolbox.cpp:3363
 msgid "Angle:"
-msgstr "Ð\9aÑ\83Ñ\82:"
+msgstr "Ð\92Ñ\83гал:"
 
-#: ../src/widgets/toolbox.cpp:3678
-msgid ""
-"The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if "
-"fixation = 0)"
+#: ../src/widgets/toolbox.cpp:3364
+msgid "The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if fixation = 0)"
 msgstr ""
 
 #. Fixation
-#: ../src/widgets/toolbox.cpp:3692
+#: ../src/widgets/toolbox.cpp:3377
 msgid "(perpendicular to stroke, \"brush\")"
-msgstr ""
+msgstr "(пэрпэндыкулярны да мазка, «пэндзаль»)"
 
-#: ../src/widgets/toolbox.cpp:3692
+#: ../src/widgets/toolbox.cpp:3377
 msgid "(almost fixed, default)"
-msgstr ""
+msgstr "(амаль нязьменны, прадвызначана)"
 
-#: ../src/widgets/toolbox.cpp:3692
+#: ../src/widgets/toolbox.cpp:3377
 msgid "(fixed by Angle, \"pen\")"
-msgstr ""
+msgstr "(замацаваны на вугал, «аловак»)"
 
-#: ../src/widgets/toolbox.cpp:3695
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3380
 msgid "Fixation"
-msgstr "Ð\90Ñ\80Ñ\8bенÑ\82аÑ\86Ñ\8bÑ\8f:"
+msgstr "Ð\9cаÑ\86аванÑ\8cне"
 
-#: ../src/widgets/toolbox.cpp:3695
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3380
 msgid "Fixation:"
-msgstr "Ð\90Ñ\80Ñ\8bенÑ\82аÑ\86Ñ\8bÑ\8f:"
+msgstr "Ð\9cаÑ\86аванÑ\8cне:"
 
-#: ../src/widgets/toolbox.cpp:3696
-msgid ""
-"Angle behavior (0 = nib always perpendicular to stroke direction, 1 = fixed "
-"angle)"
+#: ../src/widgets/toolbox.cpp:3381
+msgid "Angle behavior (0 = nib always perpendicular to stroke direction, 1 = fixed angle)"
 msgstr ""
 
 #. Cap Rounding
-#: ../src/widgets/toolbox.cpp:3708
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3393
 msgid "(blunt caps, default)"
-msgstr "Усталяваць як дапомнае"
+msgstr "(тупыя канцы, прадвызначана)"
 
-#: ../src/widgets/toolbox.cpp:3708
+#: ../src/widgets/toolbox.cpp:3393
 msgid "(slightly bulging)"
-msgstr ""
+msgstr "(крыху выпучваюцца)"
 
-#: ../src/widgets/toolbox.cpp:3708
+#: ../src/widgets/toolbox.cpp:3393
 msgid "(approximately round)"
-msgstr ""
+msgstr "(прыблізна круглы)"
 
-#: ../src/widgets/toolbox.cpp:3708
+#: ../src/widgets/toolbox.cpp:3393
 msgid "(long protruding caps)"
-msgstr ""
+msgstr "(далёка вытыркаюцца)"
 
-#: ../src/widgets/toolbox.cpp:3712
+#: ../src/widgets/toolbox.cpp:3397
 msgid "Cap rounding"
-msgstr ""
+msgstr "Скругленьне шапкі"
 
-#: ../src/widgets/toolbox.cpp:3712
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3397
 msgid "Caps:"
-msgstr "Ð\9aÑ\80аі:"
+msgstr "Шапкі:"
 
-#: ../src/widgets/toolbox.cpp:3713
-msgid ""
-"Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = "
-"round caps)"
+#: ../src/widgets/toolbox.cpp:3398
+msgid "Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = round caps)"
 msgstr ""
 
 #. Tremor
-#: ../src/widgets/toolbox.cpp:3725
+#: ../src/widgets/toolbox.cpp:3410
 msgid "(smooth line)"
-msgstr ""
+msgstr "(гладкая лінія)"
 
-#: ../src/widgets/toolbox.cpp:3725
+#: ../src/widgets/toolbox.cpp:3410
 msgid "(slight tremor)"
-msgstr ""
+msgstr "(нязначнае дрыжэньне)"
 
-#: ../src/widgets/toolbox.cpp:3725
+#: ../src/widgets/toolbox.cpp:3410
 msgid "(noticeable tremor)"
-msgstr ""
+msgstr "(заўважнае дрыжэньне)"
 
-#: ../src/widgets/toolbox.cpp:3725
+#: ../src/widgets/toolbox.cpp:3410
 msgid "(maximum tremor)"
-msgstr ""
+msgstr "(найбольшае дрыжэньне)"
 
-#: ../src/widgets/toolbox.cpp:3728
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3413
 msgid "Stroke Tremor"
-msgstr "Ð\94Ñ\80Ñ\83гÑ\96 Ð²Ñ\8bлÑ\83Ñ\87анÑ\8b"
+msgstr "Ð\94Ñ\80Ñ\8bжÑ\8dнÑ\8cне ÐºÐ¾Ð½Ñ\82Ñ\83Ñ\80а"
 
-#: ../src/widgets/toolbox.cpp:3728
+#: ../src/widgets/toolbox.cpp:3413
 msgid "Tremor:"
-msgstr ""
+msgstr "Дрыжэньне:"
 
-#: ../src/widgets/toolbox.cpp:3729
+#: ../src/widgets/toolbox.cpp:3414
 msgid "Increase to make strokes rugged and trembling"
 msgstr ""
 
 #. Wiggle
-#: ../src/widgets/toolbox.cpp:3742
+#: ../src/widgets/toolbox.cpp:3427
 msgid "(no wiggle)"
-msgstr ""
+msgstr "(без гайданьня)"
 
-#: ../src/widgets/toolbox.cpp:3742
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3427
 msgid "(slight deviation)"
-msgstr "Друк"
+msgstr "(слабое адхіленьне)"
 
-#: ../src/widgets/toolbox.cpp:3742
+#: ../src/widgets/toolbox.cpp:3427
 msgid "(wild waves and curls)"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3745
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3430
 msgid "Pen Wiggle"
-msgstr "Ð\9dазва:"
+msgstr "Ð\93айданÑ\8cне Ð¿Ñ\8fÑ\80а"
 
-#: ../src/widgets/toolbox.cpp:3745
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3430
 msgid "Wiggle:"
-msgstr "Ð\9dазва:"
+msgstr "Ð\93айданÑ\8cне:"
 
-#: ../src/widgets/toolbox.cpp:3746
+#: ../src/widgets/toolbox.cpp:3431
 msgid "Increase to make the pen waver and wiggle"
 msgstr ""
 
 #. Mass
-#: ../src/widgets/toolbox.cpp:3758
+#: ../src/widgets/toolbox.cpp:3443
 msgid "(no inertia)"
-msgstr ""
+msgstr "(без інэрцыі)"
 
-#: ../src/widgets/toolbox.cpp:3758
+#: ../src/widgets/toolbox.cpp:3443
 msgid "(slight smoothing, default)"
-msgstr ""
+msgstr "(крыху змазана, дапомна)"
 
-#: ../src/widgets/toolbox.cpp:3758
+#: ../src/widgets/toolbox.cpp:3443
 msgid "(noticeable lagging)"
-msgstr ""
+msgstr "(заўважнае адставаньне)"
 
-#: ../src/widgets/toolbox.cpp:3758
+#: ../src/widgets/toolbox.cpp:3443
 msgid "(maximum inertia)"
-msgstr ""
+msgstr "(найбольшая інэрцыя)"
 
-#: ../src/widgets/toolbox.cpp:3761
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3446
 msgid "Pen Mass"
-msgstr "Маса:"
+msgstr "Маса пяра"
 
-#: ../src/widgets/toolbox.cpp:3761
+#: ../src/widgets/toolbox.cpp:3446
 msgid "Mass:"
 msgstr "Маса:"
 
-#: ../src/widgets/toolbox.cpp:3762
+#: ../src/widgets/toolbox.cpp:3447
 msgid "Increase to make the pen drag behind, as if slowed by inertia"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3776
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3461
 msgid "Trace Background"
-msgstr "Ð\9aанÑ\87аÑ\82ковÑ\8b ÐºÐ¾Ð»ÐµÑ\80"
+msgstr "Ð\90бвеÑ\81Ñ\8cÑ\86Ñ\96 Ð°Ñ\81новедзÑ\8c"
 
-#: ../src/widgets/toolbox.cpp:3777
-msgid ""
-"Trace the lightness of the background by the width of the pen (white - "
-"minimum width, black - maximum width)"
+#: ../src/widgets/toolbox.cpp:3462
+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
+#: ../src/widgets/toolbox.cpp:3474
 msgid "Use the pressure of the input device to alter the width of the pen"
-msgstr ""
+msgstr "Ужываць націск прылады ўводжаньня, каб зьмяняць шырыню пяра"
 
-#: ../src/widgets/toolbox.cpp:3802
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3485
 msgid "Tilt"
-msgstr "Назва:"
+msgstr "Нахіл"
 
-#: ../src/widgets/toolbox.cpp:3803
+#: ../src/widgets/toolbox.cpp:3486
 msgid "Use the tilt of the input device to alter the angle of the pen's nib"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3821
-#, fuzzy
-msgid "No preset"
-msgstr "Стварыць папярэдні прагляд"
-
-#: ../src/widgets/toolbox.cpp:3836
-#, fuzzy
-msgid "Change calligraphic profile"
-msgstr "Каліграфічная рыса"
-
-#: ../src/widgets/toolbox.cpp:3848
-#, fuzzy
-msgid "Save current settings as new profile"
-msgstr "Захоўвае дакумэнт пад новай назвай"
+#: ../src/widgets/toolbox.cpp:3499
+msgid "Reset all parameters to defaults"
+msgstr "Вернуць усе парамэтры да прадвызначаных"
 
-#: ../src/widgets/toolbox.cpp:3933
+#: ../src/widgets/toolbox.cpp:3581
 msgid "Arc: Change start/end"
-msgstr ""
+msgstr "Дуга: зьмяніць пачатак/канец"
 
-#: ../src/widgets/toolbox.cpp:4022
+#: ../src/widgets/toolbox.cpp:3647
 msgid "Arc: Change open/closed"
-msgstr ""
+msgstr "Дуга: зьмяніць стан адкрытая/закрытая"
 
-#: ../src/widgets/toolbox.cpp:4146
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3770
 msgid "Start"
-msgstr "Ð\97оÑ\80ка"
+msgstr "Ð\9fаÑ\87аÑ\82ак"
 
-#: ../src/widgets/toolbox.cpp:4146
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3770
 msgid "Start:"
-msgstr "Ð\97оÑ\80ка"
+msgstr "Ð\9fаÑ\87аÑ\82ак:"
 
-#: ../src/widgets/toolbox.cpp:4147
+#: ../src/widgets/toolbox.cpp:3771
 msgid "The angle (in degrees) from the horizontal to the arc's start point"
-msgstr ""
+msgstr "Вугал (у ґрадусах) між гарызантальлю й пачатковым пунктам дугі"
 
-#: ../src/widgets/toolbox.cpp:4159
+#: ../src/widgets/toolbox.cpp:3783
 msgid "End"
-msgstr ""
+msgstr "Канец"
 
-#: ../src/widgets/toolbox.cpp:4159
+#: ../src/widgets/toolbox.cpp:3783
 msgid "End:"
-msgstr ""
+msgstr "Канец:"
 
-#: ../src/widgets/toolbox.cpp:4160
+#: ../src/widgets/toolbox.cpp:3784
 msgid "The angle (in degrees) from the horizontal to the arc's end point"
-msgstr ""
+msgstr "Вугал (у ґрадусах) між гарызантальлю й канцавым пунктам дугі"
 
-#: ../src/widgets/toolbox.cpp:4176
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3800
 msgid "Closed arc"
-msgstr "Ð\90Ñ\87Ñ\8bÑ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ñ\83Ñ\81Ñ\91"
+msgstr "Ð\97акÑ\80Ñ\8bÑ\82аÑ\8f Ð´Ñ\83га"
 
-#: ../src/widgets/toolbox.cpp:4177
+#: ../src/widgets/toolbox.cpp:3801
 msgid "Switch to segment (closed shape with two radii)"
-msgstr ""
+msgstr "Пераключыць у сэгмэнт (закрытая фіґура з двума радыюсамі)"
 
-#: ../src/widgets/toolbox.cpp:4183
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:3807
 msgid "Open Arc"
-msgstr "Ð\90дкÑ\80Ñ\8bÑ\86Ñ\8c"
+msgstr "Ð\90дкÑ\80Ñ\8bÑ\82аÑ\8f Ð´Ñ\83га"
 
-#: ../src/widgets/toolbox.cpp:4184
+#: ../src/widgets/toolbox.cpp:3808
 msgid "Switch to arc (unclosed shape)"
-msgstr ""
+msgstr "Пераключыць у дугу (незакрытая фіґура)"
 
-#: ../src/widgets/toolbox.cpp:4208
+#: ../src/widgets/toolbox.cpp:3831
 msgid "Make whole"
-msgstr ""
+msgstr "Зрабіць цэлым"
 
-#: ../src/widgets/toolbox.cpp:4209
+#: ../src/widgets/toolbox.cpp:3832
 msgid "Make the shape a whole ellipse, not arc or segment"
-msgstr ""
-
-#: ../src/widgets/toolbox.cpp:4275
-#, fuzzy
-msgid "Opacity:"
-msgstr "Зацямненьне:"
-
-#: ../src/widgets/toolbox.cpp:4282
-#, fuzzy
-msgid "Pick opacity"
-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 ""
+msgstr "Зрабіць фіґуру цэлым эліпсам, а не дугой ці сэгмэнтам"
 
-#: ../src/widgets/toolbox.cpp:4286
-#, fuzzy
-msgid "Pick"
-msgstr "Уставіць"
-
-#: ../src/widgets/toolbox.cpp:4295
-msgid "Assign opacity"
-msgstr ""
+#: ../src/widgets/toolbox.cpp:3899
+msgid "Pick alpha"
+msgstr "Узяць альфу"
 
-#: ../src/widgets/toolbox.cpp:4296
-msgid ""
-"If alpha was picked, assign it to selection as fill or stroke transparency"
+#: ../src/widgets/toolbox.cpp:3900
+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:4299
-#, fuzzy
-msgid "Assign"
-msgstr "Раўнаньне"
-
-#: ../src/widgets/toolbox.cpp:4319
-msgid "The width of the eraser pen (relative to the visible canvas area)"
-msgstr ""
+#: ../src/widgets/toolbox.cpp:3911
+msgid "Set alpha"
+msgstr "Задаць альфу"
 
-#: ../src/widgets/toolbox.cpp:4336
-msgid "Delete objects touched by the eraser"
+#: ../src/widgets/toolbox.cpp:3912
+msgid "If alpha was picked, assign it to selection as fill or stroke transparency"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:4342
-#, fuzzy
-msgid "Cut"
-msgstr "Выразаць"
-
-#: ../src/widgets/toolbox.cpp:4343
-#, fuzzy
-msgid "Cut out from objects"
-msgstr "Раўнае аб'ект"
-
-#: ../src/widgets/toolbox.cpp:4678
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:4239
 msgid "Text: Change font family"
-msgstr "Тэкст і шрыфт"
+msgstr "Тэкст: зьмяніць гарнітуру"
 
-#: ../src/widgets/toolbox.cpp:4763
+#: ../src/widgets/toolbox.cpp:4324
 msgid "Text: Change alignment"
-msgstr ""
+msgstr "Тэкст: зьмяніць раўнаваньне"
 
-#: ../src/widgets/toolbox.cpp:4846
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:4407
 msgid "Text: Change font style"
-msgstr "Тэкст і шрыфт"
+msgstr "Тэкст: зьмяніць стыль шрыфта"
 
-#: ../src/widgets/toolbox.cpp:4893
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:4454
 msgid "Text: Change orientation"
-msgstr "Ð\90Ñ\80Ñ\8bенÑ\82аÑ\86Ñ\8bÑ\8f:"
+msgstr "ТÑ\8dкÑ\81Ñ\82: Ð·Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð½Ð°Ð¿Ñ\80амак"
 
-#: ../src/widgets/toolbox.cpp:4992
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:4553
 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 ""
+#: ../src/widgets/toolbox.cpp:4792
+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
+#: ../src/widgets/toolbox.cpp:4831
 msgid "Align left"
-msgstr "РаÑ\9eнанÑ\8cне:"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ñ\83лева"
 
-#: ../src/widgets/toolbox.cpp:5282
-#, fuzzy
-msgid "Center"
-msgstr "Цэнтар X:"
-
-#: ../src/widgets/toolbox.cpp:5293
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:4853
 msgid "Align right"
-msgstr "РаÑ\9eнанÑ\8cне"
+msgstr "Ð\92Ñ\8bÑ\80аÑ\9eнаваÑ\86Ñ\8c Ñ\83пÑ\80ава"
 
-#: ../src/widgets/toolbox.cpp:5304
+#: ../src/widgets/toolbox.cpp:4864
 msgid "Justify"
-msgstr ""
+msgstr "Па шырыні"
 
-#: ../src/widgets/toolbox.cpp:5320
+#: ../src/widgets/toolbox.cpp:4880
 msgid "Bold"
-msgstr ""
+msgstr "Тоўсты"
 
-#: ../src/widgets/toolbox.cpp:5331
+#: ../src/widgets/toolbox.cpp:4891
 msgid "Italic"
-msgstr ""
+msgstr "Курсіў"
 
-#: ../src/widgets/toolbox.cpp:5465
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5023
 msgid "Change connector spacing"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\97Ñ\8cмÑ\8fнÑ\96Ñ\86Ñ\8c Ð¿Ñ\80агалÑ\8b Ð¼Ñ\96ж Ð·Ð»Ñ\83Ñ\87алÑ\8cнÑ\96камÑ\96"
 
-#: ../src/widgets/toolbox.cpp:5553
+#: ../src/widgets/toolbox.cpp:5109
 msgid "Avoid"
-msgstr ""
+msgstr "Пазьбягаць"
 
-#: ../src/widgets/toolbox.cpp:5563
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5119
 msgid "Ignore"
-msgstr "Ð\9dÑ\8fма"
+msgstr "Ð\86Ò\91наÑ\80аваÑ\86Ñ\8c"
 
-#: ../src/widgets/toolbox.cpp:5575
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5131
 msgid "Connector Spacing"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Ð¥:"
+msgstr "Ð\9fÑ\80агалÑ\8b Ð¼Ñ\96ж Ð·Ð»Ñ\83Ñ\87алÑ\8cнÑ\96камÑ\96"
 
-#: ../src/widgets/toolbox.cpp:5575
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5131
 msgid "Spacing:"
-msgstr "Ð\9aÑ\80ок Ð¿Ð° Y:"
+msgstr "Ð\86нÑ\82Ñ\8dÑ\80вал:"
 
-#: ../src/widgets/toolbox.cpp:5576
+#: ../src/widgets/toolbox.cpp:5132
 msgid "The amount of space left around objects by auto-routing connectors"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:5587
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5143
 msgid "Graph"
-msgstr "Згрупаваць"
+msgstr "Ґраф"
 
-#: ../src/widgets/toolbox.cpp:5597
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5153
 msgid "Connector Length"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "Ð\94аÑ\9eжÑ\8bнÑ\8f Ð·Ð»Ñ\83Ñ\87алÑ\8cнÑ\96ка"
 
-#: ../src/widgets/toolbox.cpp:5597
+#: ../src/widgets/toolbox.cpp:5153
 msgid "Length:"
-msgstr ""
+msgstr "Даўжыня:"
 
-#: ../src/widgets/toolbox.cpp:5598
+#: ../src/widgets/toolbox.cpp:5154
 msgid "Ideal length for connectors when layout is applied"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:5610
+#: ../src/widgets/toolbox.cpp:5166
 msgid "Downwards"
-msgstr ""
+msgstr "Зьверху ўніз"
 
-#: ../src/widgets/toolbox.cpp:5611
+#: ../src/widgets/toolbox.cpp:5167
 msgid "Make connectors with end-markers (arrows) point downwards"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:5627
+#: ../src/widgets/toolbox.cpp:5183
 msgid "Do not allow overlapping shapes"
-msgstr ""
+msgstr "Не дазваляць накладаньня фіґур"
 
-#: ../src/widgets/toolbox.cpp:5728
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5284
 msgid "Fill by"
 msgstr "Запаўненьне"
 
-#: ../src/widgets/toolbox.cpp:5729
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5285
 msgid "Fill by:"
-msgstr "Ð\97апаÑ\9eненÑ\8cне"
+msgstr "Ð\97апоÑ\9eнÑ\96Ñ\86Ñ\8c:"
 
-#: ../src/widgets/toolbox.cpp:5741
+#: ../src/widgets/toolbox.cpp:5297
 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"
+#: ../src/widgets/toolbox.cpp:5298
+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
+#: ../src/widgets/toolbox.cpp:5322
 msgid "Grow/shrink by"
-msgstr ""
+msgstr "Павялічыць/зьменшыць на"
 
-#: ../src/widgets/toolbox.cpp:5766
+#: ../src/widgets/toolbox.cpp:5322
 msgid "Grow/shrink by:"
-msgstr ""
+msgstr "Павялічыць/зьменшыць на:"
 
-#: ../src/widgets/toolbox.cpp:5767
-msgid ""
-"The amount to grow (positive) or shrink (negative) the created fill path"
+#: ../src/widgets/toolbox.cpp:5323
+msgid "The amount to grow (positive) or shrink (negative) the created fill path"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:5792
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5348
 msgid "Close gaps"
-msgstr "Ð\90Ñ\87Ñ\8bÑ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ñ\83Ñ\81Ñ\91"
+msgstr "Ð\97акÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ñ\80агалÑ\8b"
 
-#: ../src/widgets/toolbox.cpp:5793
-#, fuzzy
+#: ../src/widgets/toolbox.cpp:5349
 msgid "Close gaps:"
-msgstr "Ð\90Ñ\87Ñ\8bÑ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ñ\83Ñ\81Ñ\91"
+msgstr "Ð\97акÑ\80Ñ\8bÑ\86Ñ\8c Ð¿Ñ\80агалÑ\8b"
 
-#: ../src/widgets/toolbox.cpp:5805
-msgid ""
-"Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools "
-"to change defaults)"
-msgstr ""
-
-#: ../share/extensions/dimension.py:97
-msgid "Unable to process this object.  Try changing it into a path first."
-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 ""
-
-#: ../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 ""
-
-#: ../share/extensions/embedimage.py:106
-#, python-format
-msgid "Sorry we could not locate %s"
-msgstr ""
-
-#: ../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 ""
-
-#: ../share/extensions/extractimage.py:66
-msgid "Difficulty finding the image data."
-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"
-msgstr ""
-
-#: ../share/extensions/inkex.py:187
-#, python-format
-msgid "No matching node for expression: %s"
-msgstr ""
-
-#: ../share/extensions/markers_strokepaint.py:41
-#, python-format
-msgid "No style attribute found for id: %s"
-msgstr ""
-
-#: ../share/extensions/markers_strokepaint.py:56
-#, python-format
-msgid "unable to locate marker: %s"
-msgstr ""
-
-#: ../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 "Устаўляе новыя вузлы ў вылучаныя сэгмэнты"
-
-#: ../share/extensions/pathmodifier.py:229
-#, python-format
-msgid "Please first convert objects to paths!  (Got [%s].)"
-msgstr ""
-
-#: ../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 ""
-
-#: ../share/extensions/perspective.py:64
-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."
-msgstr ""
-
-#: ../share/extensions/summersnight.py:32
-msgid "The second path must be exactly four nodes long."
-msgstr ""
-
-#: ../share/extensions/svg_and_media_zip_output.py:103
-#, python-format
-msgid "Could not locate file: %s"
+#: ../src/widgets/toolbox.cpp:5361
+msgid "Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools to change defaults)"
 msgstr ""
 
-#. vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 encoding=utf-8 textwidth=99
+#.
+#. 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 :
 #: ../share/extensions/addnodes.inx.h:1
-#, fuzzy
 msgid "Add Nodes"
-msgstr "Ð\92узлы"
+msgstr "Ð\94адаÑ\86Ñ\8c Ð²узлы"
 
 #: ../share/extensions/addnodes.inx.h:2
-msgid "By max. segment length"
-msgstr ""
-
-#: ../share/extensions/addnodes.inx.h:3
-#, fuzzy
-msgid "By number of segments"
-msgstr "Няма рафарбоўкі"
-
-#: ../share/extensions/addnodes.inx.h:4
-msgid "Division method"
-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:3
+#: ../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/radiusrand.inx.h:3
 #: ../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 ""
-
-#: ../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 "Увод"
+msgstr "Уводжаньне AI 8.0"
 
 #: ../share/extensions/ai_input.inx.h:2
-#, fuzzy
 msgid "Adobe Illustrator 8.0 and below (*.ai)"
-msgstr "Рэдактар вэктарнае графікі"
+msgstr "Adobe Illustrator 8.0 і ранейшы (*.ai)"
 
 #: ../share/extensions/ai_input.inx.h:3
 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 "-"
+msgstr "Выводжаньне AI 8.0"
 
 #: ../share/extensions/ai_output.inx.h:2
-#, fuzzy
 msgid "Adobe Illustrator 8.0 (*.ai)"
-msgstr "Рэдактар вэктарнае графікі"
+msgstr "Adobe Illustrator 8.0 (*.ai)"
 
 #: ../share/extensions/ai_output.inx.h:3
-#, fuzzy
 msgid "Write Adobe Illustrator 8.0 (Postscript-based)"
-msgstr "РÑ\8dдакÑ\82аÑ\80 Ð²Ñ\8dкÑ\82аÑ\80нае Ð³Ñ\80аÑ\84Ñ\96кÑ\96"
+msgstr "Ð\97апÑ\96Ñ\81аÑ\86Ñ\8c Adobe Illustrator 8.0 (заÑ\81наванÑ\8b Ð½Ð° Postscript)"
 
 #: ../share/extensions/aisvg.inx.h:1
 msgid "AI SVG Input"
-msgstr ""
+msgstr "Уводжаньне AI SVG"
 
 #: ../share/extensions/aisvg.inx.h:2
 msgid "Adobe Illustrator SVG (*.ai.svg)"
-msgstr ""
+msgstr "Adobe Illustrator SVG (*.ai.svg)"
 
 #: ../share/extensions/aisvg.inx.h:3
 msgid "Cleans the cruft out of Adobe Illustrator SVGs before opening"
 msgstr ""
 
-#: ../share/extensions/ccx_input.inx.h:1
-msgid "Corel DRAW Compressed Exchange files (.ccx)"
-msgstr ""
-
-#: ../share/extensions/ccx_input.inx.h:2
-msgid "Corel DRAW Compressed Exchange files input"
-msgstr ""
-
-#: ../share/extensions/ccx_input.inx.h:3
-msgid "Open compressed exchange files saved in Corel DRAW"
-msgstr ""
-
-#: ../share/extensions/cdr_input.inx.h:1
-msgid "Corel DRAW 7-X4 files (*.cdr)"
-msgstr ""
-
-#: ../share/extensions/cdr_input.inx.h:2
-msgid "Corel DRAW Input"
-msgstr ""
-
-#: ../share/extensions/cdr_input.inx.h:3
-msgid "Open files saved in Corel DRAW 7-X4"
-msgstr ""
-
-#: ../share/extensions/cdt_input.inx.h:1
-msgid "Corel DRAW 7-13 template files (.cdt)"
-msgstr ""
-
-#: ../share/extensions/cdt_input.inx.h:2
-msgid "Corel DRAW templates input"
-msgstr ""
-
-#: ../share/extensions/cdt_input.inx.h:3
-msgid "Open files saved in Corel DRAW 7-13"
-msgstr ""
-
-#: ../share/extensions/cgm_input.inx.h:1
-msgid "Computer Graphics Metafile files (.cgm)"
-msgstr ""
-
-#: ../share/extensions/cgm_input.inx.h:2
-msgid "Computer Graphics Metafile files input"
-msgstr ""
-
-#: ../share/extensions/cgm_input.inx.h:3
-msgid "Open Computer Graphics Metafile files"
-msgstr ""
-
-#: ../share/extensions/cmx_input.inx.h:1
-msgid "Corel DRAW Presentation Exchange files (.cmx)"
-msgstr ""
-
-#: ../share/extensions/cmx_input.inx.h:2
-msgid "Corel DRAW Presentation Exchange files input"
-msgstr ""
-
-#: ../share/extensions/cmx_input.inx.h:3
-msgid "Open presentation exchange files saved in Corel DRAW"
-msgstr ""
-
 #: ../share/extensions/color_brighter.inx.h:1
 msgid "Brighter"
-msgstr ""
+msgstr "Ярчэй"
 
 #: ../share/extensions/color_custom.inx.h:1
-#, fuzzy
 msgid "Blue Function"
-msgstr "Насычанасьць:"
+msgstr "Сіняя функцыя"
+
+#: ../share/extensions/color_custom.inx.h:3
+msgid "Custom..."
+msgstr "Свой…"
 
 #: ../share/extensions/color_custom.inx.h:4
-#, fuzzy
 msgid "Green Function"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "Ð\97Ñ\8fлÑ\91наÑ\8f Ñ\84Ñ\83нкÑ\86Ñ\8bÑ\8f"
 
 #: ../share/extensions/color_custom.inx.h:5
-#, fuzzy
 msgid "Red Function"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "ЧÑ\8bÑ\80вонаÑ\8f Ñ\84Ñ\83нкÑ\86Ñ\8bÑ\8f"
 
 #: ../share/extensions/color_darker.inx.h:2
-#, fuzzy
 msgid "Darker"
-msgstr "Ð\9fÑ\96пеÑ\82ка"
+msgstr "ЦÑ\8fмнейÑ\88Ñ\8b"
 
 #: ../share/extensions/color_desaturate.inx.h:2
-#, fuzzy
 msgid "Desaturate"
-msgstr "Ð\9fÑ\80адаÑ\81Ñ\82аÑ\9eленÑ\8cне"
+msgstr "Ð\90бÑ\8fÑ\81колеÑ\80Ñ\8bÑ\86Ñ\8c"
 
 #: ../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 "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "Ð\9cенÑ\88 Ð½Ð°Ñ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\96"
 
 #: ../share/extensions/color_morehue.inx.h:2
-#, fuzzy
 msgid "More Hue"
-msgstr "Ð\90пÑ\83Ñ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\91олÑ\8cÑ\88 Ð°Ð´Ñ\86енÑ\8cнÑ\8f"
 
 #: ../share/extensions/color_morelight.inx.h:2
 msgid "More Light"
-msgstr ""
+msgstr "Больш сьвятла"
 
 #: ../share/extensions/color_moresaturation.inx.h:2
-#, fuzzy
 msgid "More Saturation"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "Ð\91олÑ\8cÑ\88 Ð½Ð°Ñ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\96"
 
 #: ../share/extensions/color_negative.inx.h:2
 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 "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ñ\81Ñ\96нÑ\96"
 
 #: ../share/extensions/color_removegreen.inx.h:2
-#, fuzzy
 msgid "Remove Green"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð·Ñ\8fлÑ\91нÑ\8b"
 
 #: ../share/extensions/color_removered.inx.h:2
-#, fuzzy
 msgid "Remove Red"
-msgstr "Выдаліць лучыва"
+msgstr "Прыбраць чырвоны"
+
+#: ../share/extensions/color_rgbbarrel.inx.h:2
+msgid "RGB Barrel"
+msgstr "RGB Бочка"
 
 #: ../share/extensions/color_replace.inx.h:1
 msgid "By color (RRGGBB hex):"
-msgstr ""
+msgstr "Паводле колера (RRGGBB hex):"
 
 #: ../share/extensions/color_replace.inx.h:3
-#, fuzzy
-msgid "Replace color"
-msgstr "Другі вылучаны"
-
-#: ../share/extensions/color_replace.inx.h:4
 msgid "Replace color (RRGGBB hex):"
-msgstr ""
+msgstr "Замяніць колер (RRGGBB hex):"
 
-#: ../share/extensions/color_rgbbarrel.inx.h:2
-msgid "RGB Barrel"
-msgstr ""
+#: ../share/extensions/color_replace.inx.h:4
+msgid "Replace color..."
+msgstr "Замяніць колер…"
 
 #: ../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 ""
+msgstr "Дыяґрама Dia (*.dia)"
 
 #: ../share/extensions/dia.inx.h:3
-#, fuzzy
 msgid "Dia Input"
-msgstr "Увод"
+msgstr "Уводжаньне Dia"
 
 #: ../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 ""
+msgid "In order to import Dia files, Dia itself must be installed.  You can get Dia at http://live.gnome.org/Dia"
+msgstr "Каб імпартаваць файлы Dia, мусіць прысутнічаць сама Dia. Яе можна атрымаць з http://live.gnome.org/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 ""
-
-#: ../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 ""
+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. Калі ты яго ня маеш, то значыць нешта ня тое з тваёй усталёўкай Inkscape."
 
 #: ../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
-#, fuzzy
 msgid "Dot size"
-msgstr "Памер шрыфта:"
+msgstr "Памер кропкі"
 
 #: ../share/extensions/dots.inx.h:2
-#, fuzzy
 msgid "Font size"
-msgstr "Ð\9fамеÑ\80 Ñ\88Ñ\80Ñ\8bÑ\84Ñ\82а:"
+msgstr "Ð\9aеглÑ\8c"
 
 #: ../share/extensions/dots.inx.h:3
 msgid "Number Nodes"
-msgstr ""
+msgstr "Нумараваць вузлы"
+
+#: ../share/extensions/dots.inx.h:4
+#: ../share/extensions/handles.inx.h:2
+#: ../share/extensions/measure.inx.h:11
+msgid "Visualize Path"
+msgstr "Візуалізаваць шлях"
 
 #: ../share/extensions/dxf_input.inx.h:1
 #: ../share/extensions/dxf_output.inx.h:1
 msgid "AutoCAD DXF (*.dxf)"
-msgstr ""
+msgstr "AutoCAD DXF (*.dxf)"
 
 #: ../share/extensions/dxf_input.inx.h:2
-#, fuzzy
 msgid "DXF Input"
-msgstr "Увод"
+msgstr "Уводжаньне DXF"
 
 #: ../share/extensions/dxf_input.inx.h:3
 msgid "Import AutoCAD's Document Exchange Format"
-msgstr ""
+msgstr "Імпрат абменнага фармату дакумэнтаў AutoCAD"
 
 #: ../share/extensions/dxf_input.inx.h:4
-msgid ""
-"dxf2svg may come with Inkscape, but is also at http://dxf-svg-convert."
-"sourceforge.net/"
-msgstr ""
+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
-#, fuzzy
 msgid "Desktop Cutting Plotter"
-msgstr "Ð\90кно Ñ\80Ñ\8dдагаванÑ\8cнÑ\8f"
+msgstr "Ð\9dаÑ\81Ñ\82олÑ\8cнÑ\8b Ñ\80Ñ\8dжÑ\83Ñ\87Ñ\8b Ð¿Ð»Ð¾Ñ\82Ñ\8dÑ\80"
 
 #: ../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"
-msgstr ""
+msgstr "Выводжаньне DXF"
 
 #: ../share/extensions/dxf_output.inx.h:3
 msgid "DXF file written by pstoedit"
-msgstr ""
+msgstr "Файл DXF запісаны pstoedit"
 
 #: ../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 "Ð\94Ñ\80Ñ\83к"
+msgstr "СÑ\82д Ð°Ð´Ñ\85Ñ\96ленÑ\8cне Ñ\80азмÑ\8bÑ\86Ñ\8cÑ\86Ñ\8f"
 
 #: ../share/extensions/edge3d.inx.h:3
-#, fuzzy
 msgid "Blur width"
-msgstr "РÑ\8bÑ\81аванÑ\8cне Ñ\88Ñ\82Ñ\80Ñ\8bÑ\85оÑ\9eкÑ\96"
+msgstr "ШÑ\8bÑ\80Ñ\8bнÑ\8f Ñ\80азмÑ\8bÑ\86Ñ\8cÑ\86Ñ\8f"
 
 #: ../share/extensions/edge3d.inx.h:4
-#, fuzzy
 msgid "Edge 3D"
-msgstr "РÑ\8dжÑ\8bм:"
+msgstr "Ð\90бʼÑ\91мнÑ\8b ÐºÑ\80ай"
 
 #: ../share/extensions/edge3d.inx.h:5
 msgid "Illumination Angle"
-msgstr ""
+msgstr "Вугал асьвятленьня"
 
 #: ../share/extensions/edge3d.inx.h:7
 msgid "Only black and white"
-msgstr ""
+msgstr "Толькі чорны й белы"
 
 #: ../share/extensions/edge3d.inx.h:8
-#, fuzzy
 msgid "Shades"
-msgstr "ФаÑ\80маванÑ\8cне"
+msgstr "ЦенÑ\96"
 
 #: ../share/extensions/embedimage.inx.h:1
 msgid "Embed All Images"
-msgstr ""
+msgstr "Убудаваць усе відарысы"
 
 #: ../share/extensions/embedimage.inx.h:2
 msgid "Embed only selected images"
-msgstr ""
+msgstr "Убудаваць толькі вылучаныя відарысы"
 
 #: ../share/extensions/eps_input.inx.h:1
-#, fuzzy
 msgid "EPS Input"
-msgstr "Увод"
+msgstr "EPS Input"
 
 #: ../share/extensions/eps_input.inx.h:2
 msgid "Encapsulated Postscript"
-msgstr ""
+msgstr "Encapsulated PostScript"
 
 #: ../share/extensions/epsi_output.inx.h:1
 msgid "EPSI Output"
-msgstr ""
+msgstr "Выводжаньне EPSI"
 
 #: ../share/extensions/epsi_output.inx.h:2
 msgid "Encapsulated Postscript Interchange (*.epsi)"
-msgstr ""
+msgstr "Абменны Encapsulated Postscript (*.epsi)"
 
 #: ../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
 msgid "GIMP Palette (*.gpl)"
-msgstr ""
+msgstr "Палітра GIMP (*.gpl)"
 
 #: ../share/extensions/extractimage.inx.h:1
 msgid "Extract One Image"
-msgstr ""
+msgstr "Выняць адзін відарыс"
 
 #: ../share/extensions/extractimage.inx.h:3
-msgid "Note: The file extension is appended automatically."
-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 ""
+msgstr "Адкрыць файлы, захаваныя ў XFIG"
 
 #: ../share/extensions/fig_input.inx.h:2
 msgid "XFIG Graphics File (*.fig)"
-msgstr ""
+msgstr "Файл ґрафікі XFIG (*.fig)"
 
 #: ../share/extensions/fig_input.inx.h:3
-#, fuzzy
 msgid "XFIG Input"
-msgstr "Увод"
+msgstr "Уводжаньне XFIG"
 
 #: ../share/extensions/flatten.inx.h:1
-#, fuzzy
 msgid "Flatness"
-msgstr "ФÑ\96лÑ\8cÑ\82аÑ\80Ñ\8b"
+msgstr "Ð\9fлаÑ\88Ñ\87Ñ\8bнÑ\8f"
 
 #: ../share/extensions/flatten.inx.h:2
-#, fuzzy
 msgid "Flatten Beziers"
-msgstr "РаÑ\9eнае Ð°Ð±'екÑ\82"
+msgstr "СплÑ\8eÑ\88Ñ\87Ñ\8bÑ\86Ñ\8c ÐºÑ\80Ñ\8bвÑ\8bÑ\8f Ð\91Ñ\8dзÑ\8cе"
 
 #: ../share/extensions/fractalize.inx.h:1
 msgid "Fractalize"
-msgstr ""
+msgstr "Фракталізаваць"
 
 #: ../share/extensions/fractalize.inx.h:3
 msgid "Smoothness"
-msgstr ""
+msgstr "Змазанасьць"
 
 #: ../share/extensions/fractalize.inx.h:4
 msgid "Subdivisions"
@@ -18359,1520 +15216,628 @@ msgid "Calculate first derivative numerically"
 msgstr ""
 
 #: ../share/extensions/funcplot.inx.h:2
-#, fuzzy
 msgid "Draw Axes"
-msgstr "Рысаваньне"
+msgstr "Рысаваць восі"
 
 #: ../share/extensions/funcplot.inx.h:3
-msgid "End value"
-msgstr ""
+msgid "End x-value"
+msgstr "Канчатковае x-значэньне"
 
 #: ../share/extensions/funcplot.inx.h:4
-#, fuzzy
 msgid "First derivative"
-msgstr "Першы вылучаны"
+msgstr "Першая вытворная"
 
 #: ../share/extensions/funcplot.inx.h:5
-#, fuzzy
 msgid "Function"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "ФÑ\83нкÑ\86Ñ\8bÑ\8f"
 
 #: ../share/extensions/funcplot.inx.h:6
-#, fuzzy
 msgid "Function Plotter"
-msgstr "Ð\90кно Ñ\80Ñ\8dдагаванÑ\8cнÑ\8f"
+msgstr "Ð\91Ñ\83даÑ\9eнÑ\96к Ñ\84Ñ\83нкÑ\86Ñ\8bй"
 
 #: ../share/extensions/funcplot.inx.h:7
-#, fuzzy
 msgid "Functions"
-msgstr "Ð\9dаÑ\81Ñ\8bÑ\87анаÑ\81Ñ\8cÑ\86Ñ\8c:"
+msgstr "ФÑ\83нкÑ\86Ñ\8bÑ\96"
 
 #: ../share/extensions/funcplot.inx.h:8
-msgid "Isotropic scaling (uses smallest of width/xrange or height/yrange)"
+msgid "Isotropic scaling (uses smallest: width/xrange or height/yrange)"
 msgstr ""
 
 #: ../share/extensions/funcplot.inx.h:9
-msgid "Multiply range by 2*pi"
-msgstr ""
+msgid "Multiply x-range by 2*pi"
+msgstr "Памножыць x-дыяпазон на 2π"
 
 #: ../share/extensions/funcplot.inx.h:10
-msgid "Range and sampling"
-msgstr ""
+#, fuzzy
+msgid "Range and Sampling"
+msgstr "Захаваць і закрыць..."
 
 #: ../share/extensions/funcplot.inx.h:11
-#, fuzzy
 msgid "Remove rectangle"
-msgstr "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ð¿Ñ\80аÑ\81Ñ\82акÑ\83Ñ\82нÑ\96к"
 
 #: ../share/extensions/funcplot.inx.h:13
-#, fuzzy
 msgid "Samples"
-msgstr "ФаÑ\80маванÑ\8cне"
+msgstr "Ð\9fÑ\80Ñ\8bкладÑ\8b"
 
 #: ../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."
+msgid "Select a rectangle before calling effect. Rectangle determines x and y scales. With polar coordinates: Start and End x-values define the angle range in radians. x scale is set so left and right edges of rectangle are at +/-1. Isotropic scaling is disabled. First derivative is always determined numerically."
 msgstr ""
 
 #: ../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 "Наяўныя стандартныя матэматычныя функцыі Python: 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). Канстанты  pi і e таксама наяўныя."
 
 #: ../share/extensions/funcplot.inx.h:16
-#, fuzzy
-msgid "Start X value"
-msgstr "Значэньне атрыбута"
+msgid "Start x-value"
+msgstr "Пачатковае x-значэньне"
 
 #: ../share/extensions/funcplot.inx.h:17
-#, fuzzy
 msgid "Use"
-msgstr "Ð\9aаÑ\80Ñ\8bÑ\81Ñ\82алÑ\8cнÑ\96к"
+msgstr "УжÑ\8bваÑ\86Ñ\8c"
 
 #: ../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
+#, fuzzy
 msgid "Circular pitch, px"
-msgstr ""
+msgstr "_Кегль [px]"
 
 #: ../share/extensions/gears.inx.h:2
-#, fuzzy
 msgid "Gear"
-msgstr "Ð\90Ñ\87Ñ\8bÑ\81Ñ\8cÑ\86Ñ\96Ñ\86Ñ\8c Ñ\83Ñ\81Ñ\91"
+msgstr "ШаÑ\81Ñ\8cÑ\86Ñ\8fÑ\80нÑ\8f"
 
 #: ../share/extensions/gears.inx.h:3
 msgid "Number of teeth"
-msgstr ""
+msgstr "Колькасьць зубоў"
 
 #: ../share/extensions/gears.inx.h:4
-#, fuzzy
 msgid "Pressure angle"
-msgstr "Ð\97Ñ\8cбеÑ\80агÑ\87Ñ\8b"
+msgstr "Ð\92Ñ\83гал Ð½Ð°Ñ\86Ñ\96Ñ\81кÑ\83"
 
 #: ../share/extensions/gimp_xcf.inx.h:1
 msgid "GIMP XCF"
-msgstr ""
+msgstr "GIMP XCF"
 
 #: ../share/extensions/gimp_xcf.inx.h:2
 msgid "GIMP XCF maintaining layers (*.XCF)"
-msgstr ""
-
-#: ../share/extensions/gimp_xcf.inx.h:3
-msgid "Save Grid:"
-msgstr ""
-
-#: ../share/extensions/gimp_xcf.inx.h:4
-#, fuzzy
-msgid "Save Guides:"
-msgstr "Кіруючыя"
-
-#: ../share/extensions/grid_cartesian.inx.h:1
-msgid "Border Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:2
-#, fuzzy
-msgid "Cartesian Grid"
-msgstr "Стварыць лучыва"
-
-#: ../share/extensions/grid_cartesian.inx.h:3
-msgid "Halve X Subsubdiv. Frequency after 'n' Subdivs. (log only)"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:4
-msgid "Halve Y Subsubdiv. Frequency after 'n' Subdivs. (log only)"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:5
-msgid "Logarithmic X Subdiv. (Base given by entry above)"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:6
-msgid "Logarithmic Y Subdiv. (Base given by entry above)"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:7
-msgid "Major X Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:8
-msgid "Major X Divisions"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:9
-msgid "Major X Divsion Spacing / px"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:10
-#, fuzzy
-msgid "Major Y Division Spacing"
-msgstr "Адлюстраваць гарызантальна"
-
-#: ../share/extensions/grid_cartesian.inx.h:11
-msgid "Major Y Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:12
-msgid "Major Y Divisions"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:13
-msgid "Minor X Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:14
-msgid "Minor Y Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:16
-msgid "Subdivisions per Major X Division"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:17
-msgid "Subdivisions per Major Y Division"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:18
-msgid "Subminor X Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:19
-msgid "Subminor Y Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:20
-msgid "Subsubdivs. per X Subdiv."
-msgstr ""
-
-#: ../share/extensions/grid_cartesian.inx.h:21
-msgid "Subsubdivs. per Y Subdivision"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:1
-msgid "Angle Divisions"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:2
-msgid "Angle Divisions at Centre"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:3
-msgid "Centre Dot Diameter / px"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:4
-msgid "Circumferential Label Outset / px"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:5
-msgid "Circumferential Label Size / px"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:6
-msgid "Circumferential Labels"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:8
-msgid "Logarithmic Subdiv. (Base given by entry above)"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:9
-msgid "Major Angular Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:10
-msgid "Major Circular Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:11
-msgid "Major Circular Divisions"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:12
-msgid "Major Circular Divsion Spacing / px"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:13
-msgid "Minor Angle Division End 'n' Divs. Before Centre"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:14
-msgid "Minor Angular Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:15
-msgid "Minor Circular Division Thickness / px"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:17
-msgid "Polar Grid"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:19
-msgid "Subdivisions per Major Angular Division"
-msgstr ""
-
-#: ../share/extensions/grid_polar.inx.h:20
-msgid "Subdivisions per Major Circular Division"
-msgstr ""
+msgstr "Працоўныя пласты GIMP XCF (*.XCF)"
 
 #: ../share/extensions/handles.inx.h:1
 msgid "Draw Handles"
-msgstr ""
-
-#: ../share/extensions/hpgl_output.inx.h:1
-msgid "Export to an HP Graphics Language file"
-msgstr ""
-
-#: ../share/extensions/hpgl_output.inx.h:2
-msgid "HP Graphics Language file (*.hpgl)"
-msgstr ""
-
-#: ../share/extensions/hpgl_output.inx.h:3
-#, fuzzy
-msgid "HPGL Output"
-msgstr "-"
+msgstr "Нарысаваць датычныя"
 
 #: ../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 "Ð\9fамеÑ\80 Ñ\96 Ð¿Ð°Ð·Ñ\8bÑ\86Ñ\8bÑ\8f"
+msgstr "Ð\92Ñ\8bбоÑ\80Ñ\8b Ð·Ð°Ð³Ð°Ð´Ð½Ð°Ð³Ð° Ñ\80адка"
 
 #: ../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 "СлайдÑ\88оÑ\9e Sodipodi"
+msgstr "Ð\9aÑ\96Ñ\80аÑ\9eнÑ\96Ñ\86Ñ\82ва 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
 #, fuzzy
 msgid "Duplicate endpaths"
-msgstr "Ð\9fадвоÑ\96Ñ\86Ñ\8c Ð²Ñ\83зел"
+msgstr "Ð\94Ñ\83блÑ\8fваÑ\86Ñ\8c Ð¿Ñ\8dндзалÑ\8c"
 
 #: ../share/extensions/interp.inx.h:4
 msgid "Interpolate"
-msgstr ""
+msgstr "Інтэрпаляваць"
 
 #: ../share/extensions/interp.inx.h:5
-#, fuzzy
-msgid "Interpolate style"
-msgstr "Стыль штрыхоўкі"
+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 ""
-
-#: ../share/extensions/lindenmayer.inx.h:4
 msgid "L-system"
-msgstr ""
+msgstr "Л-сыстэма"
 
-#: ../share/extensions/lindenmayer.inx.h:5
-#, fuzzy
+#: ../share/extensions/lindenmayer.inx.h:3
 msgid "Left angle"
-msgstr "Ð\9fÑ\80амакÑ\83Ñ\82нÑ\96к"
+msgstr "Ð\9bевÑ\8b Ð²Ñ\83гал"
 
-#: ../share/extensions/lindenmayer.inx.h:8
+#: ../share/extensions/lindenmayer.inx.h:6
 #, no-c-format
 msgid "Randomize angle (%)"
-msgstr ""
+msgstr "Адвольнасьць вугла (%)"
 
-#: ../share/extensions/lindenmayer.inx.h:10
+#: ../share/extensions/lindenmayer.inx.h:8
 #, no-c-format
 msgid "Randomize step (%)"
-msgstr ""
+msgstr "Адвольнасьць кроку (%)"
 
-#: ../share/extensions/lindenmayer.inx.h:12
-#, fuzzy
+#: ../share/extensions/lindenmayer.inx.h:10
 msgid "Right angle"
-msgstr "Ð\9fÑ\80амакÑ\83Ñ\82нÑ\96к"
+msgstr "Ð\9fÑ\80авÑ\8b Ð²Ñ\83гал"
 
-#: ../share/extensions/lindenmayer.inx.h:13
-#, fuzzy
+#: ../share/extensions/lindenmayer.inx.h:11
 msgid "Rules"
-msgstr "Пра модулі"
+msgstr "Правілы"
 
-#: ../share/extensions/lindenmayer.inx.h:14
+#: ../share/extensions/lindenmayer.inx.h:12
 msgid "Step length (px)"
-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"
-msgstr ""
+msgstr "Даўжыня кроку (пкс)"
 
 #: ../share/extensions/lorem_ipsum.inx.h:1
 msgid "Lorem ipsum"
-msgstr ""
+msgstr "Lorem ipsum"
 
 #: ../share/extensions/lorem_ipsum.inx.h:2
 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."
-msgstr ""
+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 "Гэты эфэкт стварае стандартны псэўдалацінскі тэкст-загатоўку, г.зв. «Lorem Ipsum». Калі вылучаны плыўны тэкст, то Lorem Ipsum дадецца да яго, у іншым выпадку на новым пласьце ствараецца абʼект плыўнога тэксту памерам са старонку."
 
 #: ../share/extensions/markers_strokepaint.inx.h:1
+#, fuzzy
 msgid "Color Markers to Match Stroke"
-msgstr ""
+msgstr "Ужыць апошні зададзены колер да контура"
 
 #: ../share/extensions/measure.inx.h:1
-#, fuzzy
 msgid "Font size [px]"
-msgstr "Ð\9fамеÑ\80 Ñ\88Ñ\80Ñ\8bÑ\84Ñ\82а:"
+msgstr "Ð\9aеглÑ\8c [пкÑ\81]"
 
 #. <param name="unit" type="string" _gui-text="Unit {km|m|cm|mm|in|px|pt}">mm</param>
 #: ../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
 msgid "Offset [px]"
-msgstr ""
+msgstr "Зрух [пкс]"
 
 #: ../share/extensions/measure.inx.h:8
-#, fuzzy
 msgid "Precision"
-msgstr "Ð\92Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cне"
+msgstr "Ð\94акладнаÑ\81Ñ\8cÑ\86Ñ\8c"
 
 #: ../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:1
+msgid "Angle"
+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 з разьметкай «outline»"
 
 #: ../share/extensions/outline2svg.inx.h:2
 msgid "Text Outline File (*.outline)"
-msgstr ""
+msgstr "Тэкставы файл фармату Outline (*.outline)"
 
 #: ../share/extensions/outline2svg.inx.h:3
-#, fuzzy
 msgid "Text Outline Input"
-msgstr "Увод"
+msgstr "Уводжаньне тэксту фармату Outline"
 
 #: ../share/extensions/pathalongpath.inx.h:1
-#, fuzzy
 msgid "Copies of the pattern:"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð°Ð±'екÑ\82а"
+msgstr "Ð\9aопÑ\96Ñ\8fÑ\9e Ñ\83зоÑ\80а: "
 
 #: ../share/extensions/pathalongpath.inx.h:2
-#, fuzzy
 msgid "Deformation type:"
-msgstr "ТÑ\80анÑ\81Ñ\84аÑ\80маванÑ\8cне Ð²Ñ\8bлÑ\83Ñ\87Ñ\8dнÑ\8cнÑ\8f"
+msgstr "ТÑ\8bп Ð´Ñ\8dÑ\84аÑ\80маÑ\86Ñ\8bÑ\96:"
 
 #: ../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 "Раўнае аб'ект"
-
-#: ../share/extensions/pathalongpath.inx.h:10
-msgid "Ribbon"
-msgstr ""
-
-#: ../share/extensions/pathalongpath.inx.h:13
-#, fuzzy
-msgid "Snake"
-msgstr "Зорка"
+msgstr "Узор уздоўж шляху"
 
-#: ../share/extensions/pathalongpath.inx.h:14
-#: ../share/extensions/pathscatter.inx.h:11
+#: ../share/extensions/pathalongpath.inx.h:8
 msgid "Space between copies:"
-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)"
-msgstr ""
-
-#: ../share/extensions/pathscatter.inx.h:1
-#, fuzzy
-msgid "Cloned"
-msgstr "Закрыць"
-
-#: ../share/extensions/pathscatter.inx.h:2
-#, fuzzy
-msgid "Copied"
-msgstr "Камбінаваць"
-
-#: ../share/extensions/pathscatter.inx.h:4
-#, fuzzy
-msgid "Follow path orientation."
-msgstr "Арыентацыя:"
-
-#: ../share/extensions/pathscatter.inx.h:6
-#, fuzzy
-msgid "Moved"
-msgstr "Перанесьці"
-
-#: ../share/extensions/pathscatter.inx.h:8
-#, fuzzy
-msgid "Original pattern will be:"
-msgstr "Раўнае аб'ект"
-
-#: ../share/extensions/pathscatter.inx.h:10
-#, fuzzy
-msgid "Scatter"
-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)"
+#: ../share/extensions/pathalongpath.inx.h:10
+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/perfectboundcover.inx.h:1
 msgid "Bleed (in)"
-msgstr ""
+msgstr "Палі (у цалях)"
 
 #: ../share/extensions/perfectboundcover.inx.h:2
+#, fuzzy
 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 "Ð\9cÑ\8dÑ\82аÑ\80"
+msgstr "Ð\92окладка"
 
 #: ../share/extensions/perfectboundcover.inx.h:8
 msgid "Cover Thickness Measurement"
-msgstr ""
+msgstr "Мераньне таўшчыні вокладкі"
 
 #: ../share/extensions/perfectboundcover.inx.h:9
 msgid "Generate Template"
-msgstr ""
+msgstr "Стварыць шаблён"
 
 #: ../share/extensions/perfectboundcover.inx.h:10
-#, fuzzy
 msgid "Interior Pages"
-msgstr "Ð\92Ñ\8bдалÑ\96Ñ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9dÑ\83Ñ\82Ñ\80анÑ\8bÑ\8f Ñ\81Ñ\82аÑ\80онкÑ\96"
 
 #: ../share/extensions/perfectboundcover.inx.h:11
 msgid "Note: Bond Weight # calculations are a best-guess estimate."
 msgstr ""
 
 #: ../share/extensions/perfectboundcover.inx.h:12
-#, fuzzy
 msgid "Number of Pages"
-msgstr "Ð\9dÑ\8fма Ñ\80аÑ\84аÑ\80боÑ\9eкÑ\96"
+msgstr "Ð\9aолÑ\8cкаÑ\81Ñ\8cÑ\86Ñ\8c Ñ\81Ñ\82аÑ\80онак"
 
 #: ../share/extensions/perfectboundcover.inx.h:13
 msgid "Pages Per Inch (PPI)"
-msgstr ""
+msgstr "Старонкі на цалю (С/Ц)"
 
 #: ../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 "СÑ\82ваÑ\80Ñ\8bÑ\86Ñ\8c Ð»Ñ\83Ñ\87Ñ\8bва"
+msgstr "Ð\9fÑ\80Ñ\8bбÑ\80аÑ\86Ñ\8c Ñ\96Ñ\81ноÑ\9eнÑ\8bÑ\8f Ð½Ð°ÐºÑ\96Ñ\80оÑ\9eнÑ\8bÑ\8f"
 
 #: ../share/extensions/perfectboundcover.inx.h:18
-#, fuzzy
 msgid "Specify Width"
-msgstr "ШÑ\8bÑ\80Ñ\8bнÑ\8f:"
+msgstr "Ð\9fазнаÑ\87 Ñ\88Ñ\8bÑ\80Ñ\8bнÑ\8e"
 
 #: ../share/extensions/perspective.inx.h:2
-#, fuzzy
 msgid "Perspective"
-msgstr "Зьберагчы"
-
-#: ../share/extensions/polyhedron_3d.inx.h:1
-msgid "3D Polyhedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:2
-#, fuzzy
-msgid "Clockwise Wound Object"
-msgstr "Вылучаныя аб'екты"
-
-#: ../share/extensions/polyhedron_3d.inx.h:3
-msgid "Cube"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:4
-msgid "Cuboctohedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:5
-msgid "Dodecahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:6
-msgid "Draw Back-Facing Polygons"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:7
-msgid "Edge-Specified"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:8
-#, fuzzy
-msgid "Edges"
-msgstr "град"
-
-#: ../share/extensions/polyhedron_3d.inx.h:9
-msgid "Face-Specified"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:10
-#, fuzzy
-msgid "Faces"
-msgstr "Фільтары"
-
-#: ../share/extensions/polyhedron_3d.inx.h:11
-#, fuzzy
-msgid "Filename:"
-msgstr "Захаваць файл"
-
-#: ../share/extensions/polyhedron_3d.inx.h:12
-msgid "Fill Colour (Blue)"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:13
-msgid "Fill Colour (Green)"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:14
-msgid "Fill Colour (Red)"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:16
-#, fuzzy, no-c-format
-msgid "Fill Opacity/ %"
-msgstr "Зацямненьне:"
-
-#: ../share/extensions/polyhedron_3d.inx.h:17
-msgid "Great Dodecahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:18
-msgid "Great Stellated Dodecahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:19
-msgid "Icosahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:20
-#, fuzzy
-msgid "Light x-Position"
-msgstr "Прапорцыі:"
-
-#: ../share/extensions/polyhedron_3d.inx.h:21
-#, fuzzy
-msgid "Light y-Position"
-msgstr "Прапорцыі:"
-
-#: ../share/extensions/polyhedron_3d.inx.h:22
-#, fuzzy
-msgid "Light z-Position"
-msgstr "Прапорцыі:"
-
-#: ../share/extensions/polyhedron_3d.inx.h:23
-msgid "Line Thickness / px"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:24
-msgid "Load From File"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:25
-msgid "Maximum"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:26
-msgid "Mean"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:27
-#, fuzzy
-msgid "Minimum"
-msgstr "Памер кропкавага відарыса"
-
-#: ../share/extensions/polyhedron_3d.inx.h:28
-#, fuzzy
-msgid "Model File"
-msgstr "Тып файла:"
-
-#: ../share/extensions/polyhedron_3d.inx.h:29
-#, fuzzy
-msgid "Object Type"
-msgstr "Аб'ект"
-
-#: ../share/extensions/polyhedron_3d.inx.h:30
-#, fuzzy
-msgid "Object:"
-msgstr "Аб'ект"
-
-#: ../share/extensions/polyhedron_3d.inx.h:31
-#, fuzzy
-msgid "Octahedron"
-msgstr "Мэтар"
-
-#: ../share/extensions/polyhedron_3d.inx.h:33
-#, fuzzy
-msgid "Report Normal Vector Information"
-msgstr "Выдаляе трансфармаваньні"
-
-#: ../share/extensions/polyhedron_3d.inx.h:34
-#, fuzzy
-msgid "Rotate Around:"
-msgstr "Падняць вузел"
-
-#: ../share/extensions/polyhedron_3d.inx.h:35
-#, fuzzy
-msgid "Rotation / Degrees"
-msgstr "Павярнуць"
-
-#: ../share/extensions/polyhedron_3d.inx.h:36
-#, fuzzy
-msgid "Scaling Factor"
-msgstr "Пачатковы колер"
-
-#: ../share/extensions/polyhedron_3d.inx.h:37
-#, fuzzy
-msgid "Shading"
-msgstr "Крок па Y:"
-
-#: ../share/extensions/polyhedron_3d.inx.h:39
-msgid "Small Triambic Icosahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:40
-msgid "Snub Cube"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:41
-msgid "Snub Dodecahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:43
-#, fuzzy, no-c-format
-msgid "Stroke Opacity/ %"
-msgstr "Рысаваньне штрыхоўкі"
-
-#: ../share/extensions/polyhedron_3d.inx.h:45
-msgid "Tetrahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:46
-#, fuzzy
-msgid "Then Rotate Around:"
-msgstr "Чырвоны:"
-
-#: ../share/extensions/polyhedron_3d.inx.h:47
-msgid "Truncated Cube"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:48
-msgid "Truncated Dodecahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:49
-msgid "Truncated Icosahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:50
-msgid "Truncated Octahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:51
-msgid "Truncated Tetrahedron"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:52
-#, fuzzy
-msgid "Vertices"
-msgstr "Адлюстраваць вэртыкальна"
-
-#: ../share/extensions/polyhedron_3d.inx.h:53
-#, fuzzy
-msgid "View"
-msgstr "Выгляд"
-
-#: ../share/extensions/polyhedron_3d.inx.h:54
-msgid "X-Axis"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:55
-msgid "Y-Axis"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:56
-msgid "Z-Axis"
-msgstr ""
-
-#: ../share/extensions/polyhedron_3d.inx.h:57
-msgid "Z-Sort Faces By:"
-msgstr ""
+msgstr "Пэрспэктыва"
 
 #: ../share/extensions/ps_input.inx.h:1
 msgid "Postscript"
-msgstr ""
+msgstr "Postscript"
 
 #: ../share/extensions/ps_input.inx.h:2
 msgid "Postscript (*.ps)"
-msgstr ""
-
-#: ../share/extensions/ps_input.inx.h:3
-msgid "Postscript Input"
-msgstr ""
-
-#: ../share/extensions/radiusrand.inx.h:1
-#, fuzzy
-msgid "Jitter nodes"
-msgstr "Падняць вузел"
-
-#: ../share/extensions/radiusrand.inx.h:2
-#, fuzzy
-msgid "Maximum displacement in X, px"
-msgstr "Стварыць вузел элемэнта"
-
-#: ../share/extensions/radiusrand.inx.h:3
-#, fuzzy
-msgid "Maximum displacement in Y, px"
-msgstr "Стварыць вузел элемэнта"
-
-#: ../share/extensions/radiusrand.inx.h:5
-msgid "Shift node handles"
-msgstr ""
-
-#: ../share/extensions/radiusrand.inx.h:6
-#, fuzzy
-msgid "Shift nodes"
-msgstr "Прыбраць водступ вузла"
-
-#: ../share/extensions/radiusrand.inx.h:7
-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 ""
-
-#: ../share/extensions/render_alphabetsoup.inx.h:1
-msgid "Alphabet Soup"
-msgstr ""
-
-#: ../share/extensions/render_alphabetsoup.inx.h:2
-#, fuzzy
-msgid "Random Seed"
-msgstr "Падняць вузел"
-
-#: ../share/extensions/render_barcode.inx.h:1
-#, fuzzy
-msgid "Bar Height:"
-msgstr "Вышыня:"
-
-#: ../share/extensions/render_barcode.inx.h:2
-msgid "Barcode"
-msgstr ""
-
-#: ../share/extensions/render_barcode.inx.h:3
-msgid "Barcode Data:"
-msgstr ""
+msgstr "Postscript (*.ps)"
 
-#: ../share/extensions/render_barcode.inx.h:4
-#, fuzzy
-msgid "Barcode Type:"
-msgstr "Тып файла:"
+#: ../share/extensions/ps_input.inx.h:3
+msgid "Postscript Input"
+msgstr "Уводжаньне Postscript"
 
-#: ../share/extensions/restack.inx.h:2
-#, fuzzy
-msgid "Arbitrary Angle:"
-msgstr "Кут"
+#: ../share/extensions/radiobutton_example.inx.h:1
+msgid "Developer Examples"
+msgstr "Прыклады распрацоўнікаў"
 
-#: ../share/extensions/restack.inx.h:4
-#, fuzzy
-msgid "Bottom"
-msgstr "Маштабаваньне"
+#: ../share/extensions/radiobutton_example.inx.h:2
+msgid "RadioButton example"
+msgstr "Прыклад радыёкнопкі"
 
-#: ../share/extensions/restack.inx.h:5
-msgid "Bottom to Top (90)"
-msgstr ""
+#: ../share/extensions/radiobutton_example.inx.h:3
+msgid "Select option: "
+msgstr "Выберы выбор:"
 
-#: ../share/extensions/restack.inx.h:6
-#, fuzzy
-msgid "Horizontal Point:"
-msgstr "Адлюстраваць гарызантальна"
+#: ../share/extensions/radiobutton_example.inx.h:4
+msgid "Select second option: "
+msgstr "Выберы другі выбор:"
 
-#: ../share/extensions/restack.inx.h:7
-msgid "Left"
-msgstr ""
+#: ../share/extensions/radiusrand.inx.h:1
+msgid "Jitter nodes"
+msgstr "Раскідаць вузлы"
 
-#: ../share/extensions/restack.inx.h:8
-msgid "Left to Right (0)"
-msgstr ""
+#: ../share/extensions/radiusrand.inx.h:2
+msgid "Maximum displacement, px"
+msgstr "Найбольшае зрушэньне, пкс"
 
-#: ../share/extensions/restack.inx.h:9
-#, fuzzy
-msgid "Middle"
-msgstr "Назва:"
+#: ../share/extensions/radiusrand.inx.h:4
+msgid "Shift node handles"
+msgstr "Зрушыць ручкі вузлоў"
 
-#: ../share/extensions/restack.inx.h:10
-#, fuzzy
-msgid "Radial Inward"
-msgstr "Кругавы градыент"
+#: ../share/extensions/radiusrand.inx.h:5
+msgid "Shift nodes"
+msgstr "Зрушыць вузлы"
 
-#: ../share/extensions/restack.inx.h:11
-#, fuzzy
-msgid "Radial Outward"
-msgstr "Кругавы градыент"
+#: ../share/extensions/radiusrand.inx.h:6
+msgid "This effect randomly shifts the nodes (and optionally node handles) of the selected path."
+msgstr "Гэты эфэкт адвольна зрушае вузлы (і, неабавязкова, ручкі вузлоў) вылучанага шляха."
 
-#: ../share/extensions/restack.inx.h:12
-#, fuzzy
-msgid "Restack"
-msgstr "Тэкст"
+#: ../share/extensions/radiusrand.inx.h:7
+msgid "Use normal distribution"
+msgstr "Нармальнае разьмеркаваньне"
 
-#: ../share/extensions/restack.inx.h:13
-#, fuzzy
-msgid "Restack Direction:"
-msgstr "Вылучэньне"
+#: ../share/extensions/randompnt.inx.h:1
+msgid "Random Point"
+msgstr "Адвольны пункт"
 
-#: ../share/extensions/restack.inx.h:14
-#, fuzzy
-msgid "Right"
-msgstr "Вышыня:"
+#: ../share/extensions/randompos.inx.h:1
+msgid "Random Position"
+msgstr "Адвольнае становішча"
 
-#: ../share/extensions/restack.inx.h:15
-msgid "Right to Left (180)"
-msgstr ""
+#: ../share/extensions/render_barcode.inx.h:1
+msgid "Bar Height:"
+msgstr "Вышыня штрыхкода:"
 
-#: ../share/extensions/restack.inx.h:17
-msgid "Top to Bottom (270)"
-msgstr ""
+#: ../share/extensions/render_barcode.inx.h:2
+msgid "Barcode"
+msgstr "Штрыхкод"
 
-#: ../share/extensions/restack.inx.h:18
-#, fuzzy
-msgid "Vertical Point:"
-msgstr "Адлюстраваць вэртыкальна"
+#: ../share/extensions/render_barcode.inx.h:3
+msgid "Barcode Data:"
+msgstr "Даньні штрыхкода"
+
+#: ../share/extensions/render_barcode.inx.h:4
+msgid "Barcode Type:"
+msgstr "Тып штрыхкода"
 
 #: ../share/extensions/rtree.inx.h:1
-#, fuzzy
 msgid "Initial size"
-msgstr "Памер кропкавага відарыса"
+msgstr "Пачатковы памер"
 
 #: ../share/extensions/rtree.inx.h:2
-#, fuzzy
 msgid "Minimum size"
-msgstr "Ð\9fамеÑ\80 ÐºÑ\80опкавага Ð²Ñ\96даÑ\80Ñ\8bÑ\81а"
+msgstr "Ð\9dайболÑ\8cÑ\88Ñ\8b Ð¿Ð°Ð¼ÐµÑ\80"
 
 #: ../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
 msgid "Rubber Stretch"
-msgstr ""
+msgstr "Ґумовае расьцягваньне"
 
 #: ../share/extensions/rubberstretch.inx.h:6
 #, no-c-format
 msgid "Strength (%):"
-msgstr ""
-
-#: ../share/extensions/sk1_input.inx.h:1
-#, fuzzy
-msgid "Open files saved in sK1 vector graphics editor"
-msgstr "Рэдактар вэктарнае графікі"
-
-#: ../share/extensions/sk1_input.inx.h:2
-msgid "sK1 vector graphics files (.sk1)"
-msgstr ""
-
-#: ../share/extensions/sk1_input.inx.h:3
-msgid "sK1 vector graphics files input"
-msgstr ""
+msgstr "Сіла (%):"
 
 #: ../share/extensions/sk_input.inx.h:1
 msgid "A diagram created with the program Sketch"
-msgstr ""
+msgstr "Дыяґрама, створаная праграмай Sketch"
 
 #: ../share/extensions/sk_input.inx.h:2
 msgid "Sketch Diagram (*.sk)"
-msgstr ""
+msgstr "Дыяґрама Sketch (*.sk)"
 
 #: ../share/extensions/sk_input.inx.h:3
 msgid "Sketch Input"
-msgstr ""
+msgstr "Уводжаньне Sketch"
 
 #: ../share/extensions/spirograph.inx.h:1
 msgid "Gear Placement"
 msgstr ""
+"Зьмяшчэньне\n"
+"шасьцярні"
 
 #: ../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 "Павярнуць"
+msgstr "Паварот (у ґрадусах)"
 
 #: ../share/extensions/spirograph.inx.h:8
-#, fuzzy
 msgid "Spirograph"
-msgstr "СпÑ\96Ñ\80алÑ\8c"
+msgstr "СпÑ\96Ñ\80оÒ\91Ñ\80аÑ\84"
 
 #: ../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 ""
-
-#: ../share/extensions/svg2xaml.inx.h:1 ../share/extensions/xaml2svg.inx.h:1
-msgid "Microsoft XAML (*.xaml)"
-msgstr ""
-
-#: ../share/extensions/svg2xaml.inx.h:2 ../share/extensions/xaml2svg.inx.h:2
-msgid "Microsoft's GUI definition format"
-msgstr ""
-
-#: ../share/extensions/svg2xaml.inx.h:3
-#, fuzzy
-msgid "XAML Output"
-msgstr "-"
+msgstr "Капэрта"
 
 #: ../share/extensions/svg_and_media_zip_output.inx.h:1
 msgid "Compressed Inkscape SVG with media (*.zip)"
 msgstr ""
 
 #: ../share/extensions/svg_and_media_zip_output.inx.h:2
-msgid ""
-"Inkscape's native file format compressed with Zip and including all media "
-"files"
+msgid "Inkscape's native file format compressed with Zip and including all media files"
 msgstr ""
 
 #: ../share/extensions/svg_and_media_zip_output.inx.h:3
 msgid "ZIP Output"
-msgstr ""
+msgstr "Выводжаньне ZIP"
 
-#: ../share/extensions/text_braille.inx.h:1
-#, fuzzy
-msgid "Convert to Braille"
-msgstr "Канвэртуе аб'ект у дугу"
+#: ../share/extensions/svg2xaml.inx.h:1
+#: ../share/extensions/xaml2svg.inx.h:1
+msgid "Microsoft XAML (*.xaml)"
+msgstr "Microsoft XAML (*.xaml)"
+
+#: ../share/extensions/svg2xaml.inx.h:2
+#: ../share/extensions/xaml2svg.inx.h:2
+msgid "Microsoft's GUI definition format"
+msgstr "Фармат вызначэньня ҐІК ад Microsoft"
+
+#: ../share/extensions/svg2xaml.inx.h:3
+msgid "XAML Output"
+msgstr "Выводжаньне XAML"
 
 #: ../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_uppercase.inx.h:2
+msgid "UPPERCASE"
+msgstr "КАПІТЭЛІ"
 
 #: ../share/extensions/text_randomcase.inx.h:2
 msgid "rANdOm CasE"
-msgstr ""
+msgstr "аДвоЛЬНы РэґіСТАр"
 
 #: ../share/extensions/text_replace.inx.h:1
-#, fuzzy
-msgid "By:"
-msgstr "RY:"
-
-#: ../share/extensions/text_replace.inx.h:2
-#, fuzzy
-msgid "Replace text"
-msgstr "Падняць"
-
-#: ../share/extensions/text_replace.inx.h:3
-#, fuzzy
-msgid "Replace:"
-msgstr "Падняць"
-
-#: ../share/extensions/text_sentencecase.inx.h:1
-msgid "Sentence case"
-msgstr ""
+msgid "Replace text..."
+msgstr "Замяніць тэкст…"
 
 #: ../share/extensions/text_titlecase.inx.h:2
-#, fuzzy
 msgid "Title Case"
-msgstr "Назва:"
-
-#: ../share/extensions/text_uppercase.inx.h:2
-msgid "UPPERCASE"
-msgstr ""
-
-#: ../share/extensions/triangle.inx.h:1
-#, fuzzy
-msgid "Angle a / deg"
-msgstr "град"
-
-#: ../share/extensions/triangle.inx.h:2
-#, fuzzy
-msgid "Angle b / deg"
-msgstr "град"
-
-#: ../share/extensions/triangle.inx.h:3
-#, fuzzy
-msgid "Angle c / deg"
-msgstr "град"
-
-#: ../share/extensions/triangle.inx.h:4
-msgid "From Side a and Angles a, b"
-msgstr ""
-
-#: ../share/extensions/triangle.inx.h:5
-msgid "From Side c and Angles a, b"
-msgstr ""
-
-#: ../share/extensions/triangle.inx.h:6
-msgid "From Sides a, b and Angle a"
-msgstr ""
-
-#: ../share/extensions/triangle.inx.h:7
-msgid "From Sides a, b and Angle c"
-msgstr ""
-
-#: ../share/extensions/triangle.inx.h:8
-msgid "From Three Sides"
-msgstr ""
-
-#: ../share/extensions/triangle.inx.h:11
-msgid "Side Length a / px"
-msgstr ""
+msgstr "Першая Літара"
 
-#: ../share/extensions/triangle.inx.h:12
-msgid "Side Length b / px"
-msgstr ""
-
-#: ../share/extensions/triangle.inx.h:13
-msgid "Side Length c / px"
-msgstr ""
-
-#: ../share/extensions/triangle.inx.h:14
-#, fuzzy
-msgid "Triangle"
-msgstr "Кут"
+#: ../share/extensions/text_sentencecase.inx.h:1
+msgid "Sentence case"
+msgstr "Рэґістар сказу"
 
 #: ../share/extensions/txt2svg.inx.h:1
 msgid "ASCII Text"
-msgstr ""
+msgstr "Тэкст ASCII"
 
 #: ../share/extensions/txt2svg.inx.h:2
 msgid "Text File (*.txt)"
-msgstr ""
+msgstr "Тэкставы файл (*.txt)"
 
 #: ../share/extensions/txt2svg.inx.h:3
-#, fuzzy
 msgid "Text Input"
-msgstr "Увод"
+msgstr "Уводжаньне тэкставае"
 
 #: ../share/extensions/whirl.inx.h:1
 msgid "Amount of whirl"
-msgstr ""
+msgstr "Ступень віраваньня"
 
 #: ../share/extensions/whirl.inx.h:3
-#, fuzzy
 msgid "Rotation is clockwise"
-msgstr "Ð\9fаваÑ\80оÑ\87вае Ð°Ð±'екÑ\82 Ð½Ð° 90° Ð¿Ð° Ñ\81онÑ\86Ñ\83"
+msgstr "Ð\9fаваÑ\80оÑ\82 Ð·Ð° Ñ\81Ñ\82Ñ\80Ñ\8dлкай"
 
 #: ../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 "Windows Metafile (*.wmf)"
 
 #: ../share/extensions/wmf_input.inx.h:3
 msgid "Windows Metafile Input"
-msgstr ""
+msgstr "Уводжаньне Windows Metafile"
 
 #: ../share/extensions/xaml2svg.inx.h:3
-#, fuzzy
 msgid "XAML Input"
-msgstr "Увод"
-
-#, fuzzy
-#~ msgid "Bend Path"
-#~ msgstr "Адасобіць"
-
-#, fuzzy
-#~ msgid "Slant"
-#~ msgstr "Чорны:"
-
-#, fuzzy
-#~ msgid "Space between copies of the pattern"
-#~ msgstr "Трансфармаваньне аб'екта"
-
-#, fuzzy
-#~ msgid "<b>Snapping to special nodes</b>"
-#~ msgstr "Інструмэнт тэкста - стварае і рэдагуе тэкставыя аб'екты"
-
-#, fuzzy
-#~ msgid "_Apply"
-#~ msgstr "Ужыць да:"
-
-#, fuzzy
-#~ msgid "Apply chosen effect to selection"
-#~ msgstr "Скінуць трансфармацыю"
-
-#, fuzzy
-#~ msgid "Shape"
-#~ msgstr "Фармаваньне"
-
-#, fuzzy
-#~ msgid "Tall"
-#~ msgstr "Назва:"
-
-#, fuzzy
-#~ msgid "Square"
-#~ msgstr "М-квадрат"
-
-#, fuzzy
-#~ msgid "Wide"
-#~ msgstr "Шырыня:"
-
-#, fuzzy
-#~ msgid "Delete Segment"
-#~ msgstr "Выдаліць вузел"
-
-#, fuzzy
-#~ msgid "Custom..."
-#~ msgstr "Пазначае карыстальнік"
-
-#, fuzzy
-#~ msgid "Select option: "
-#~ msgstr "Вылучэньне"
-
-#, fuzzy
-#~ msgid "Select second option: "
-#~ msgstr "Выбярыце файл для адкрыцьця"
-
-#, fuzzy
-#~ msgid "Random Position"
-#~ msgstr "Памер і пазыцыя"
-
-#, fuzzy
-#~ msgid "X Channel"
-#~ msgstr "Адмяніць"
-
-#, fuzzy
-#~ msgid "Y Channel"
-#~ msgstr "Адмяніць"
-
-#, fuzzy
-#~ msgid "Search Tag"
-#~ msgstr "Прамакутнік"
-
-#, fuzzy
-#~ msgid "Measure unit:"
-#~ msgstr "Дапомнае"
-
-#, fuzzy
-#~ msgid "Degrees:"
-#~ msgstr "град"
-
-#, fuzzy
-#~ msgid "Start point jitter"
-#~ msgstr "Насычанасьць:"
-
-#, fuzzy
-#~ msgid "Slope"
-#~ msgstr "Маштаб"
-
-#, fuzzy
-#~ msgid "Intercept"
-#~ msgstr "Вылучэньне"
-
-#, fuzzy
-#~ msgid "Snap at specified d_istance"
-#~ msgstr "Памер крокаў:"
-
-#, fuzzy
-#~ msgid "Snap di_stance"
-#~ msgstr "Памер крокаў:"
-
-#, fuzzy
-#~ msgid "Snap at specified dis_tance"
-#~ msgstr "Памер крокаў:"
-
-#, fuzzy
-#~ msgid "Snap at specified distan_ce"
-#~ msgstr "Памер крокаў:"
-
-#, fuzzy
-#~ msgid "<b>Miscellaneous</b>"
-#~ msgstr "Прамакутнік"
-
-#, fuzzy
-#~ msgid "Date:"
-#~ msgstr "Уставіць"
-
-#, fuzzy
-#~ msgid "Format:"
-#~ msgstr "Трасыраваць"
-
-#, fuzzy
-#~ msgid "Creator:"
-#~ msgstr "Стварыць"
-
-#, fuzzy
-#~ msgid "Rights:"
-#~ msgstr "Вышыня:"
-
-#, fuzzy
-#~ msgid "Identifier:"
-#~ msgstr "Санцімэтар"
-
-#, fuzzy
-#~ msgid "Source:"
-#~ msgstr "Трасыраваць"
-
-#, fuzzy
-#~ msgid "Relation:"
-#~ 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 "Default License"
-#~ msgstr "Дапомнае"
-
-#, fuzzy
-#~ msgid "Angle Y"
-#~ msgstr "Кут:"
-
-#, fuzzy
-#~ msgid "Move by:"
-#~ msgstr "Перанесьці"
-
-#, fuzzy
-#~ msgid "Move to:"
-#~ msgstr "Перанесьці"
-
-#, fuzzy
-#~ msgid "Opacity, %:"
-#~ msgstr "Зацямненьне:"
-
-#, fuzzy
-#~ msgid "Pattern along path"
-#~ msgstr "Раўнае аб'ект"
-
-#, fuzzy
-#~ msgid "unknown error"
-#~ msgstr "Невядома"
-
-#, fuzzy
-#~ msgid "Print Preview not available"
-#~ msgstr "Перадпрагляд друку"
-
-#, fuzzy
-#~ msgid "Snap details"
-#~ msgstr "Раўнаць па кіруючых"
-
-#, fuzzy
-#~ msgid "Gridtype"
-#~ msgstr "Тып файла:"
-
-#, fuzzy
-#~ msgid "Display Calibration"
-#~ msgstr "Уласьцівасьці дысплэя"
-
-#, fuzzy
-#~ msgid "Print _Direct"
-#~ msgstr "Друк наўпрост..."
-
-#, fuzzy
-#~ msgid "Print directly without prompting to a file or pipe"
-#~ msgstr "Друкуе наўпрост у файл ці канал"
-
-#, fuzzy
-#~ msgid "Gradients"
-#~ msgstr "Вэктар градыента"
-
-#, fuzzy
-#~ msgid "Horizontal kerning"
-#~ msgstr "Адлюстраваць гарызантальна"
+msgstr "Уводжаньне XAML"
 
-#, fuzzy
-#~ msgid "Vertical kerning"
-#~ msgstr "Адлюстраваць вэртыкальна"
index c86df3b7ab2aec9dc751ad7627307ef0d0233363..2f7a2c169fcd850609c28348491442a0cf22e37a 100644 (file)
@@ -11,15 +11,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pt_BR\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-03-10 01:58-0300\n"
-"Last-Translator: Felipe C. da S. Sanches <felipe.sanches@gmail.com>\n"
+"POT-Creation-Date: 2008-09-28 19:10-0300\n"
+"PO-Revision-Date: 2008-10-02 22:26-0300\n"
+"Last-Translator: Valessio Brito <valessio@gmail.com>\n"
 "Language-Team: Português Brasil <inkscape-brasil@listas.softwarelivre.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Pootle 1.0.2\n"
+"X-Generator: Pootle 0.10.1\n"
 
 # "imagens gráficas" estava feio e redundante!
 #: ../inkscape.desktop.in.h:1
@@ -30,18 +30,18 @@ msgstr "Cria e edita desenhos vetoriais escaláveis (SVG)"
 msgid "Inkscape Vector Graphics Editor"
 msgstr "Editor de Imagens Vetoriais Inkscape"
 
-#: ../src/arc-context.cpp:338
+#: ../src/arc-context.cpp:339
 msgid ""
 "<b>Ctrl</b>: make circle or integer-ratio ellipse, snap arc/segment angle"
 msgstr ""
 "<b>Ctrl</b>: cria círculo ou elipse de proporção inteira, ajusta o ângulo do "
 "arco/segmento"
 
-#: ../src/arc-context.cpp:339 ../src/rect-context.cpp:383
+#: ../src/arc-context.cpp:340 ../src/rect-context.cpp:384
 msgid "<b>Shift</b>: draw around the starting point"
 msgstr "<b>Shift</b>: desenhar ao redor do ponto inicial"
 
-#: ../src/arc-context.cpp:485
+#: ../src/arc-context.cpp:486
 #, c-format
 msgid ""
 "<b>Ellipse</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</b> "
@@ -50,7 +50,7 @@ msgstr ""
 "<b>Elipse</b>: %s &#215; %s (proporção forçada a %d:%d); com <b>Shift</b> "
 "para desenhar ao redor do ponto inicial"
 
-#: ../src/arc-context.cpp:487
+#: ../src/arc-context.cpp:488
 #, c-format
 msgid ""
 "<b>Ellipse</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-"
@@ -59,30 +59,30 @@ msgstr ""
 "<b>Elipse</b>: %s &#215; %s; com <b>Ctrl</b> para criar elipse de proporção "
 "quadrada ou inteira; com <b>Shift</b> para desenhar ao redor do ponto inicial"
 
-#: ../src/arc-context.cpp:506
+#: ../src/arc-context.cpp:507
 msgid "Create ellipse"
 msgstr "Criar elipse"
 
-#: ../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
+#: ../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 "Alterar perspectiva (ângulo das linhas de planos)"
 
 #. status text
-#: ../src/box3d-context.cpp:638
+#: ../src/box3d-context.cpp:639
 msgid "<b>3D Box</b>; with <b>Shift</b> to extrude along the Z axis"
 msgstr "<b>Caixa 3D </b>; com <b>Shift</b> para mover ao longo do eixo Z"
 
-#: ../src/box3d-context.cpp:662
+#: ../src/box3d-context.cpp:663
 msgid "Create 3D box"
 msgstr "Criar caixa 3D"
 
-#: ../src/box3d.cpp:315
+#: ../src/box3d.cpp:316
 msgid "<b>3D Box</b>"
 msgstr "<b>Caixa 3D</b>"
 
-#: ../src/connector-context.cpp:522
+#: ../src/connector-context.cpp:519
 msgid "Creating new connector"
 msgstr "Criando novo conector"
 
@@ -117,11 +117,11 @@ msgstr ""
 msgid "Select <b>at least one non-connector object</b>."
 msgstr "Selecione <b>pelo menos um objeto que não seja conector</b>."
 
-#: ../src/connector-context.cpp:1319 ../src/widgets/toolbox.cpp:5554
+#: ../src/connector-context.cpp:1319 ../src/widgets/toolbox.cpp:6497
 msgid "Make connectors avoid selected objects"
 msgstr "Fazer com que os conectores evitem os objetos selecionados"
 
-#: ../src/connector-context.cpp:1320 ../src/widgets/toolbox.cpp:5564
+#: ../src/connector-context.cpp:1320 ../src/widgets/toolbox.cpp:6507
 msgid "Make connectors ignore selected objects"
 msgstr "Fazer com que os conectores ignorem os objetos selecionados"
 
@@ -135,11 +135,11 @@ msgid "<b>Current layer is locked</b>. Unlock it to be able to draw on it."
 msgstr ""
 "<b>A camada atual está travada</b>. Destrave-a para poder desenhar nela."
 
-#: ../src/desktop.cpp:782
+#: ../src/desktop.cpp:822
 msgid "No previous zoom."
 msgstr "Nenhuma ampliação anterior."
 
-#: ../src/desktop.cpp:807
+#: ../src/desktop.cpp:847
 msgid "No next zoom."
 msgstr "Nenhuma ampliação posterior."
 
@@ -161,44 +161,44 @@ msgstr "Mover guia"
 msgid "<b>Guideline</b>: %s"
 msgstr "<b>Linha guia</b>: %s"
 
-#: ../src/dialogs/clonetiler.cpp:168
+#: ../src/dialogs/clonetiler.cpp:169
 msgid "<small>Nothing selected.</small>"
 msgstr "<small>Nada selecionado.</small>"
 
-#: ../src/dialogs/clonetiler.cpp:174
+#: ../src/dialogs/clonetiler.cpp:175
 msgid "<small>More than one object selected.</small>"
 msgstr "<small>Mais de um objeto selecionado.</small>"
 
-#: ../src/dialogs/clonetiler.cpp:181
+#: ../src/dialogs/clonetiler.cpp:182
 #, c-format
 msgid "<small>Object has <b>%d</b> tiled clones.</small>"
 msgstr "<small>O objeto possui <b>%d</b> clones ladrilhados.</small>"
 
-#: ../src/dialogs/clonetiler.cpp:186
+#: ../src/dialogs/clonetiler.cpp:187
 msgid "<small>Object has no tiled clones.</small>"
 msgstr "<small>O objeto não possui clones ladrilhados.</small>"
 
-#: ../src/dialogs/clonetiler.cpp:984
+#: ../src/dialogs/clonetiler.cpp:990
 msgid "Select <b>one object</b> whose tiled clones to unclump."
 msgstr "Selecione <b>um objeto</b> para separar clones."
 
-#: ../src/dialogs/clonetiler.cpp:1006
+#: ../src/dialogs/clonetiler.cpp:1012
 msgid "Unclump tiled clones"
 msgstr "Separa clones em ladrilho"
 
-#: ../src/dialogs/clonetiler.cpp:1036
+#: ../src/dialogs/clonetiler.cpp:1042
 msgid "Select <b>one object</b> whose tiled clones to remove."
 msgstr "Selecione <b>um objeto</b> clonado para remover clones."
 
-#: ../src/dialogs/clonetiler.cpp:1059
+#: ../src/dialogs/clonetiler.cpp:1065
 msgid "Delete tiled clones"
 msgstr "Apagar clones ladrilhados"
 
-#: ../src/dialogs/clonetiler.cpp:1105 ../src/selection-chemistry.cpp:1818
+#: ../src/dialogs/clonetiler.cpp:1111 ../src/selection-chemistry.cpp:1835
 msgid "Select an <b>object</b> to clone."
 msgstr "Selecione um <b>objeto</b> para clonar."
 
-#: ../src/dialogs/clonetiler.cpp:1111
+#: ../src/dialogs/clonetiler.cpp:1117
 msgid ""
 "If you want to clone several objects, <b>group</b> them and <b>clone the "
 "group</b>."
@@ -206,28 +206,27 @@ msgstr ""
 "Se você quiser clonar diversos objetos, <b>agrupe-os</b> e <b>clone o grupo</"
 "b>."
 
-#: ../src/dialogs/clonetiler.cpp:1120
-#, fuzzy
+#: ../src/dialogs/clonetiler.cpp:1126
 msgid "<small>Creating tiled clones...</small>"
-msgstr "<small>O objeto não possui clones ladrilhados.</small>"
+msgstr "<small>Criando clones ladrilhados...</small>"
 
-#: ../src/dialogs/clonetiler.cpp:1527
+#: ../src/dialogs/clonetiler.cpp:1531
 msgid "Create tiled clones"
 msgstr "Criar clones ladrilhados"
 
-#: ../src/dialogs/clonetiler.cpp:1710
+#: ../src/dialogs/clonetiler.cpp:1722
 msgid "<small>Per row:</small>"
 msgstr "<small>Por linha:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:1723
+#: ../src/dialogs/clonetiler.cpp:1735
 msgid "<small>Per column:</small>"
 msgstr "<small>Por coluna:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:1731
+#: ../src/dialogs/clonetiler.cpp:1743
 msgid "<small>Randomize:</small>"
 msgstr "<small>Aleatório:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:1885
+#: ../src/dialogs/clonetiler.cpp:1904
 msgid "_Symmetry"
 msgstr "_Simetria"
 
@@ -236,365 +235,365 @@ msgstr "_Simetria"
 #. * 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
+#: ../src/dialogs/clonetiler.cpp:1912
 msgid "Select one of the 17 symmetry groups for the tiling"
 msgstr "Selecione um dos 17 grupos de simetria para o ladrilho"
 
 #. TRANSLATORS: "translation" means "shift" / "displacement" here.
-#: ../src/dialogs/clonetiler.cpp:1904
+#: ../src/dialogs/clonetiler.cpp:1923
 msgid "<b>P1</b>: simple translation"
 msgstr "<b>P1</b>: deslocamento simples"
 
-#: ../src/dialogs/clonetiler.cpp:1905
+#: ../src/dialogs/clonetiler.cpp:1924
 msgid "<b>P2</b>: 180&#176; rotation"
 msgstr "<b>P2</b>: 180&#176; rotação"
 
-#: ../src/dialogs/clonetiler.cpp:1906
+#: ../src/dialogs/clonetiler.cpp:1925
 msgid "<b>PM</b>: reflection"
 msgstr "<b>PM</b>: reflexão"
 
 #. 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
+#: ../src/dialogs/clonetiler.cpp:1928
 msgid "<b>PG</b>: glide reflection"
 msgstr "<b>PG</b>: reflexão deslizante"
 
-#: ../src/dialogs/clonetiler.cpp:1910
+#: ../src/dialogs/clonetiler.cpp:1929
 msgid "<b>CM</b>: reflection + glide reflection"
 msgstr "<b>CM</b>: reflexão + reflexão deslizante"
 
-#: ../src/dialogs/clonetiler.cpp:1911
+#: ../src/dialogs/clonetiler.cpp:1930
 msgid "<b>PMM</b>: reflection + reflection"
 msgstr "<b>PMM</b>: reflexão + reflexão"
 
-#: ../src/dialogs/clonetiler.cpp:1912
+#: ../src/dialogs/clonetiler.cpp:1931
 msgid "<b>PMG</b>: reflection + 180&#176; rotation"
 msgstr "<b>PMG</b>: reflexão + 180&#176; rotação"
 
-#: ../src/dialogs/clonetiler.cpp:1913
+#: ../src/dialogs/clonetiler.cpp:1932
 msgid "<b>PGG</b>: glide reflection + 180&#176; rotation"
 msgstr "<b>PGG</b>: reflexão deslizante + 180&#176; rotação"
 
-#: ../src/dialogs/clonetiler.cpp:1914
+#: ../src/dialogs/clonetiler.cpp:1933
 msgid "<b>CMM</b>: reflection + reflection + 180&#176; rotation"
 msgstr "<b>CMM</b>: reflexão + reflexão + 180&#176; rotação"
 
-#: ../src/dialogs/clonetiler.cpp:1915
+#: ../src/dialogs/clonetiler.cpp:1934
 msgid "<b>P4</b>: 90&#176; rotation"
 msgstr "<b>P4</b>: 90&#176; rotação"
 
-#: ../src/dialogs/clonetiler.cpp:1916
+#: ../src/dialogs/clonetiler.cpp:1935
 msgid "<b>P4M</b>: 90&#176; rotation + 45&#176; reflection"
 msgstr "<b>P4M</b>: 90&#176; rotação + 45&#176; reflexão"
 
-#: ../src/dialogs/clonetiler.cpp:1917
+#: ../src/dialogs/clonetiler.cpp:1936
 msgid "<b>P4G</b>: 90&#176; rotation + 90&#176; reflection"
 msgstr "<b>P4G</b>: 90&#176; rotação + 90&#176; reflexão"
 
-#: ../src/dialogs/clonetiler.cpp:1918
+#: ../src/dialogs/clonetiler.cpp:1937
 msgid "<b>P3</b>: 120&#176; rotation"
 msgstr "<b>P3</b>: 120&#176; rotação"
 
-#: ../src/dialogs/clonetiler.cpp:1919
+#: ../src/dialogs/clonetiler.cpp:1938
 msgid "<b>P31M</b>: reflection + 120&#176; rotation, dense"
 msgstr "<b>P31M</b>: reflexão + 120&#176; rotação, denso"
 
-#: ../src/dialogs/clonetiler.cpp:1920
+#: ../src/dialogs/clonetiler.cpp:1939
 msgid "<b>P3M1</b>: reflection + 120&#176; rotation, sparse"
 msgstr "<b>P3M1</b>: reflexão + 120&#176; rotação, escasso"
 
-#: ../src/dialogs/clonetiler.cpp:1921
+#: ../src/dialogs/clonetiler.cpp:1940
 msgid "<b>P6</b>: 60&#176; rotation"
 msgstr "<b>P6</b>: 60&#176; rotação"
 
-#: ../src/dialogs/clonetiler.cpp:1922
+#: ../src/dialogs/clonetiler.cpp:1941
 msgid "<b>P6M</b>: reflection + 60&#176; rotation"
 msgstr "<b>P6M</b>: reflexão + 60&#176; rotação"
 
-#: ../src/dialogs/clonetiler.cpp:1950
+#: ../src/dialogs/clonetiler.cpp:1969
 msgid "S_hift"
 msgstr "D_eslocamento"
 
 #. TRANSLATORS: "shift" means: the tiles will be shifted (offset) horizontally by this amount
-#: ../src/dialogs/clonetiler.cpp:1960
+#: ../src/dialogs/clonetiler.cpp:1979
 #, no-c-format
 msgid "<b>Shift X:</b>"
 msgstr "<b>Deslocamento X:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:1968
+#: ../src/dialogs/clonetiler.cpp:1987
 #, no-c-format
 msgid "Horizontal shift per row (in % of tile width)"
 msgstr "Deslocamento horizontal por linha (em % da largura do objeto)"
 
-#: ../src/dialogs/clonetiler.cpp:1976
+#: ../src/dialogs/clonetiler.cpp:1995
 #, no-c-format
 msgid "Horizontal shift per column (in % of tile width)"
 msgstr "Deslocamento horizontal por coluna (em % da largura do objeto)"
 
-#: ../src/dialogs/clonetiler.cpp:1983
+#: ../src/dialogs/clonetiler.cpp:2002
 msgid "Randomize the horizontal shift by this percentage"
 msgstr "Randomizar o deslocamento vertical por esta porcentagem"
 
 #. TRANSLATORS: "shift" means: the tiles will be shifted (offset) vertically by this amount
-#: ../src/dialogs/clonetiler.cpp:1993
+#: ../src/dialogs/clonetiler.cpp:2012
 #, no-c-format
 msgid "<b>Shift Y:</b>"
 msgstr "<b>Deslocar Y:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2001
+#: ../src/dialogs/clonetiler.cpp:2020
 #, no-c-format
 msgid "Vertical shift per row (in % of tile height)"
 msgstr "Deslocamento vertical por coluna (em % da altura do objeto)"
 
-#: ../src/dialogs/clonetiler.cpp:2009
+#: ../src/dialogs/clonetiler.cpp:2028
 #, no-c-format
 msgid "Vertical shift per column (in % of tile height)"
 msgstr "Deslocamento vertical por coluna (em % da altura do objeto)"
 
-#: ../src/dialogs/clonetiler.cpp:2016
+#: ../src/dialogs/clonetiler.cpp:2035
 msgid "Randomize the vertical shift by this percentage"
 msgstr "Randomizar o deslocamento vertical por esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2024 ../src/dialogs/clonetiler.cpp:2172
+#: ../src/dialogs/clonetiler.cpp:2043 ../src/dialogs/clonetiler.cpp:2191
 msgid "<b>Exponent:</b>"
 msgstr "<b>Expoente:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2031
+#: ../src/dialogs/clonetiler.cpp:2050
 msgid "Whether rows are spaced evenly (1), converge (<1) or diverge (>1)"
 msgstr ""
 "Se as linhas estiverem espaçadas uniformemente (1), convergir (<1) ou "
 "divergir (>1)"
 
-#: ../src/dialogs/clonetiler.cpp:2038
+#: ../src/dialogs/clonetiler.cpp:2057
 msgid "Whether columns are spaced evenly (1), converge (<1) or diverge (>1)"
 msgstr ""
 "Se as colunas estiverem espaçadas uniformemente (1), convergir (<1) ou "
 "divergir (>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: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 "<small>Alternate:</small>"
 msgstr "<small>Alternar:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:2052
+#: ../src/dialogs/clonetiler.cpp:2071
 msgid "Alternate the sign of shifts for each row"
 msgstr "Alternar o sinal dos deslocamentos para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2057
+#: ../src/dialogs/clonetiler.cpp:2076
 msgid "Alternate the sign of shifts for each column"
 msgstr "Alternar o sinal dos deslocamentos para cada coluna"
 
 #. TRANSLATORS: "Cumulate" is a verb here
-#: ../src/dialogs/clonetiler.cpp:2064 ../src/dialogs/clonetiler.cpp:2234
-#: ../src/dialogs/clonetiler.cpp:2311
+#: ../src/dialogs/clonetiler.cpp:2083 ../src/dialogs/clonetiler.cpp:2253
+#: ../src/dialogs/clonetiler.cpp:2330
 msgid "<small>Cumulate:</small>"
 msgstr "<small>Acumular:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:2070
+#: ../src/dialogs/clonetiler.cpp:2089
 msgid "Cumulate the shifts for each row"
 msgstr "Acumular os deslocamentos para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2075
+#: ../src/dialogs/clonetiler.cpp:2094
 msgid "Cumulate the shifts for each column"
 msgstr "Acumular os deslocamentos para cada coluna"
 
 #. TRANSLATORS: "Cumulate" is a verb here
-#: ../src/dialogs/clonetiler.cpp:2082
+#: ../src/dialogs/clonetiler.cpp:2101
 msgid "<small>Exclude tile:</small>"
 msgstr "<small>Excluir Ladrilho:</small>"
 
-#: ../src/dialogs/clonetiler.cpp:2088
+#: ../src/dialogs/clonetiler.cpp:2107
 msgid "Exclude tile height in shift"
 msgstr "Excluir a altura do ladrilho no deslocamento"
 
-#: ../src/dialogs/clonetiler.cpp:2093
+#: ../src/dialogs/clonetiler.cpp:2112
 msgid "Exclude tile width in shift"
 msgstr "Excluir a largura do ladrilho no deslocamento"
 
-#: ../src/dialogs/clonetiler.cpp:2102
+#: ../src/dialogs/clonetiler.cpp:2121
 msgid "Sc_ale"
 msgstr "Ampli_ar"
 
-#: ../src/dialogs/clonetiler.cpp:2110
+#: ../src/dialogs/clonetiler.cpp:2129
 msgid "<b>Scale X:</b>"
 msgstr "<b>Escala X:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2118
+#: ../src/dialogs/clonetiler.cpp:2137
 #, no-c-format
 msgid "Horizontal scale per row (in % of tile width)"
 msgstr "Escala horizontal por linha (em % da largura do ladrilho)"
 
-#: ../src/dialogs/clonetiler.cpp:2126
+#: ../src/dialogs/clonetiler.cpp:2145
 #, no-c-format
 msgid "Horizontal scale per column (in % of tile width)"
 msgstr "Escala horizontal por coluna (em % da largura do ladrilho)"
 
-#: ../src/dialogs/clonetiler.cpp:2133
+#: ../src/dialogs/clonetiler.cpp:2152
 msgid "Randomize the horizontal scale by this percentage"
 msgstr "Randomizar a escala horizontal sob esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2141
+#: ../src/dialogs/clonetiler.cpp:2160
 msgid "<b>Scale Y:</b>"
 msgstr "<b>Escala Y:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2149
+#: ../src/dialogs/clonetiler.cpp:2168
 #, no-c-format
 msgid "Vertical scale per row (in % of tile height)"
 msgstr "Escala vertical por linha (em % da altura do ladrilho)"
 
-#: ../src/dialogs/clonetiler.cpp:2157
+#: ../src/dialogs/clonetiler.cpp:2176
 #, no-c-format
 msgid "Vertical scale per column (in % of tile height)"
 msgstr "Escala vertical por coluna (em % da altura do ladrilho)"
 
-#: ../src/dialogs/clonetiler.cpp:2164
+#: ../src/dialogs/clonetiler.cpp:2183
 msgid "Randomize the vertical scale by this percentage"
 msgstr "Randomizar o deslocamento vertical por esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2179
+#: ../src/dialogs/clonetiler.cpp:2198
 msgid "Whether row scaling is uniform (1), converge (<1) or diverge (>1)"
 msgstr ""
 "Se o espaçamento de linhas é uniforme (1), convergente (<1) ou divergente "
 "(>1)"
 
-#: ../src/dialogs/clonetiler.cpp:2186
+#: ../src/dialogs/clonetiler.cpp:2205
 msgid "Whether column scaling is uniform (1), converge (<1) or diverge (>1)"
 msgstr ""
 "Se o espaçamento de colunas é uniforme (1), convergente (<1) ou divergente "
 "(>1)"
 
-#: ../src/dialogs/clonetiler.cpp:2194
+#: ../src/dialogs/clonetiler.cpp:2213
 msgid "<b>Base:</b>"
 msgstr "<b>Base:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2201 ../src/dialogs/clonetiler.cpp:2208
+#: ../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 ""
 "Base para uma espiral logarítmica: não usada (0), convergente (<1) ou "
 "divergente (>1)"
 
-#: ../src/dialogs/clonetiler.cpp:2222
+#: ../src/dialogs/clonetiler.cpp:2241
 msgid "Alternate the sign of scales for each row"
 msgstr "Alternar o sinal de escalas para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2227
+#: ../src/dialogs/clonetiler.cpp:2246
 msgid "Alternate the sign of scales for each column"
 msgstr "Alternar o sinal de escalas para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2240
+#: ../src/dialogs/clonetiler.cpp:2259
 msgid "Cumulate the scales for each row"
 msgstr "Acumular a escala de medida para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2245
+#: ../src/dialogs/clonetiler.cpp:2264
 msgid "Cumulate the scales for each column"
 msgstr "Acumular a escala de medida para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2254
+#: ../src/dialogs/clonetiler.cpp:2273
 msgid "_Rotation"
 msgstr "_Rotação"
 
-#: ../src/dialogs/clonetiler.cpp:2262
+#: ../src/dialogs/clonetiler.cpp:2281
 msgid "<b>Angle:</b>"
 msgstr "<b>Ângulo:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2270
+#: ../src/dialogs/clonetiler.cpp:2289
 #, no-c-format
 msgid "Rotate tiles by this angle for each row"
 msgstr "Girar ladrilhos por este ângulo para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2278
+#: ../src/dialogs/clonetiler.cpp:2297
 #, no-c-format
 msgid "Rotate tiles by this angle for each column"
 msgstr "Girar ladrilhos por este ângulo para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2285
+#: ../src/dialogs/clonetiler.cpp:2304
 msgid "Randomize the rotation angle by this percentage"
 msgstr "Randomizar o ângulo de rotação por esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2299
+#: ../src/dialogs/clonetiler.cpp:2318
 msgid "Alternate the rotation direction for each row"
 msgstr "Alternar a direção da rotação para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2304
+#: ../src/dialogs/clonetiler.cpp:2323
 msgid "Alternate the rotation direction for each column"
 msgstr "Alternar a direção da rotação para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2317
+#: ../src/dialogs/clonetiler.cpp:2336
 msgid "Cumulate the rotation for each row"
 msgstr "Acumular a rotação para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2322
+#: ../src/dialogs/clonetiler.cpp:2341
 msgid "Cumulate the rotation for each column"
 msgstr "Acumular a rotação para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2331
+#: ../src/dialogs/clonetiler.cpp:2350
 msgid "_Blur & opacity"
 msgstr "_Desfoque & opacidade"
 
-#: ../src/dialogs/clonetiler.cpp:2340
+#: ../src/dialogs/clonetiler.cpp:2359
 msgid "<b>Blur:</b>"
 msgstr "<b>Desfoque:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2347
+#: ../src/dialogs/clonetiler.cpp:2366
 msgid "Blur tiles by this percentage for each row"
 msgstr "Aplicar desfoque ao ladrilho por esta porcentagem a cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2354
+#: ../src/dialogs/clonetiler.cpp:2373
 msgid "Blur tiles by this percentage for each column"
 msgstr "Aplicar desfoque ao ladrilho por esta porcentagem a cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2361
+#: ../src/dialogs/clonetiler.cpp:2380
 msgid "Randomize the tile blur by this percentage"
 msgstr "Randomizar o desfoque do ladrilho por esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2375
+#: ../src/dialogs/clonetiler.cpp:2394
 msgid "Alternate the sign of blur change for each row"
 msgstr "Alternar o sinal do desfoque para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2380
+#: ../src/dialogs/clonetiler.cpp:2399
 msgid "Alternate the sign of blur change for each column"
 msgstr "Alternar o sinal do desfoque para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2389
+#: ../src/dialogs/clonetiler.cpp:2408
 msgid "<b>Fade out:</b>"
 msgstr "<b>Escurecer:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2396
+#: ../src/dialogs/clonetiler.cpp:2415
 msgid "Decrease tile opacity by this percentage for each row"
 msgstr "Diminuir a opacidade do ladrilho por esta porcentagem para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2403
+#: ../src/dialogs/clonetiler.cpp:2422
 msgid "Decrease tile opacity by this percentage for each column"
 msgstr "Diminuir a opacidade do ladrilho por esta porcentagem para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2410
+#: ../src/dialogs/clonetiler.cpp:2429
 msgid "Randomize the tile opacity by this percentage"
 msgstr "Randomizar a opacidade do ladrilho por esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2424
+#: ../src/dialogs/clonetiler.cpp:2443
 msgid "Alternate the sign of opacity change for each row"
 msgstr "Alternar o sinal da mudança da opacidade para cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2429
+#: ../src/dialogs/clonetiler.cpp:2448
 msgid "Alternate the sign of opacity change for each column"
 msgstr "Alternar o sinal da mudança da opacidade para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2437
+#: ../src/dialogs/clonetiler.cpp:2456
 msgid "Co_lor"
 msgstr "Co_r"
 
-#: ../src/dialogs/clonetiler.cpp:2442
+#: ../src/dialogs/clonetiler.cpp:2461
 msgid "Initial color: "
 msgstr "Cor inicial: "
 
-#: ../src/dialogs/clonetiler.cpp:2446
+#: ../src/dialogs/clonetiler.cpp:2465
 msgid "Initial color of tiled clones"
 msgstr "Cor inicial dos clones ladrilhados"
 
-#: ../src/dialogs/clonetiler.cpp:2446
+#: ../src/dialogs/clonetiler.cpp:2465
 msgid ""
 "Initial color for clones (works only if the original has unset fill or "
 "stroke)"
@@ -602,71 +601,71 @@ msgstr ""
 "Cor inicial para clones (só funciona se o original não tiver preenchimento "
 "ou traço)"
 
-#: ../src/dialogs/clonetiler.cpp:2461
+#: ../src/dialogs/clonetiler.cpp:2480
 msgid "<b>H:</b>"
 msgstr "<b>H:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2468
+#: ../src/dialogs/clonetiler.cpp:2487
 msgid "Change the tile hue by this percentage for each row"
 msgstr "Alterar contraste do ladrilho sob esta porcentagem a cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2475
+#: ../src/dialogs/clonetiler.cpp:2494
 msgid "Change the tile hue by this percentage for each column"
 msgstr "Alterar contraste do ladrilho sob esta porcentagem a cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2482
+#: ../src/dialogs/clonetiler.cpp:2501
 msgid "Randomize the tile hue by this percentage"
 msgstr "Randomizar o contraste do ladrilho sob esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2491
+#: ../src/dialogs/clonetiler.cpp:2510
 msgid "<b>S:</b>"
 msgstr "<b>S:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2498
+#: ../src/dialogs/clonetiler.cpp:2517
 msgid "Change the color saturation by this percentage for each row"
 msgstr "Mudar a saturação de cor sob esta porcentagem a cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2505
+#: ../src/dialogs/clonetiler.cpp:2524
 msgid "Change the color saturation by this percentage for each column"
 msgstr "Mudar a saturação de cor sob esta porcentagem a cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2512
+#: ../src/dialogs/clonetiler.cpp:2531
 msgid "Randomize the color saturation by this percentage"
 msgstr "Randomizar a saturação de cor sob esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2520
+#: ../src/dialogs/clonetiler.cpp:2539
 msgid "<b>L:</b>"
 msgstr "<b>L:</b>"
 
-#: ../src/dialogs/clonetiler.cpp:2527
+#: ../src/dialogs/clonetiler.cpp:2546
 msgid "Change the color lightness by this percentage for each row"
 msgstr "Mudar o brilho da cor sob esta porcentagem a cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2534
+#: ../src/dialogs/clonetiler.cpp:2553
 msgid "Change the color lightness by this percentage for each column"
 msgstr "Mudar o brilho da cor sob esta porcentagem a cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2541
+#: ../src/dialogs/clonetiler.cpp:2560
 msgid "Randomize the color lightness by this percentage"
 msgstr "Randomizar o brilho da cor sob esta porcentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2555
+#: ../src/dialogs/clonetiler.cpp:2574
 msgid "Alternate the sign of color changes for each row"
 msgstr "Alternar o valor de mudanças de cor a cada linha"
 
-#: ../src/dialogs/clonetiler.cpp:2560
+#: ../src/dialogs/clonetiler.cpp:2579
 msgid "Alternate the sign of color changes for each column"
 msgstr "Alternar o valor de mudanças de cor para cada coluna"
 
-#: ../src/dialogs/clonetiler.cpp:2568
+#: ../src/dialogs/clonetiler.cpp:2587
 msgid "_Trace"
 msgstr "_Traçar"
 
-#: ../src/dialogs/clonetiler.cpp:2575
+#: ../src/dialogs/clonetiler.cpp:2594
 msgid "Trace the drawing under the tiles"
 msgstr "Traçar o desenho em baixo dos ladrilhos"
 
-#: ../src/dialogs/clonetiler.cpp:2579
+#: ../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"
@@ -674,11 +673,11 @@ msgstr ""
 "Para cada clone, pegar um valor do desenho no local daquele clone e aplicar "
 "ao clone"
 
-#: ../src/dialogs/clonetiler.cpp:2593
+#: ../src/dialogs/clonetiler.cpp:2612
 msgid "1. Pick from the drawing:"
 msgstr "1. Capturar do desenho:"
 
-#: ../src/dialogs/clonetiler.cpp:2604 ../src/dialogs/clonetiler.cpp:2751
+#: ../src/dialogs/clonetiler.cpp:2623 ../src/dialogs/clonetiler.cpp:2770
 #: ../src/extension/internal/bitmap/colorize.cpp:51
 #: ../share/extensions/color_brighter.inx.h:2
 #: ../share/extensions/color_custom.inx.h:2
@@ -701,116 +700,116 @@ msgstr "1. Capturar do desenho:"
 msgid "Color"
 msgstr "Cor"
 
-#: ../src/dialogs/clonetiler.cpp:2605
+#: ../src/dialogs/clonetiler.cpp:2624
 msgid "Pick the visible color and opacity"
 msgstr "Escolha a cor visível e a opacidade"
 
-#: ../src/dialogs/clonetiler.cpp:2612 ../src/dialogs/clonetiler.cpp:2761
+#: ../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:2241
-#: ../src/widgets/toolbox.cpp:3405
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2246
+#: ../src/widgets/toolbox.cpp:3854
 msgid "Opacity"
 msgstr "Opacidade"
 
-#: ../src/dialogs/clonetiler.cpp:2613
+#: ../src/dialogs/clonetiler.cpp:2632
 msgid "Pick the total accumulated opacity"
 msgstr "Capturar a opacidade total acumulada"
 
-#: ../src/dialogs/clonetiler.cpp:2620
+#: ../src/dialogs/clonetiler.cpp:2639
 msgid "R"
 msgstr "R"
 
-#: ../src/dialogs/clonetiler.cpp:2621
+#: ../src/dialogs/clonetiler.cpp:2640
 msgid "Pick the Red component of the color"
 msgstr "Capturar o componente Vermelho da cor"
 
-#: ../src/dialogs/clonetiler.cpp:2628
+#: ../src/dialogs/clonetiler.cpp:2647
 msgid "G"
 msgstr "G"
 
-#: ../src/dialogs/clonetiler.cpp:2629
+#: ../src/dialogs/clonetiler.cpp:2648
 msgid "Pick the Green component of the color"
 msgstr "Capturar o componente Verde da cor"
 
-#: ../src/dialogs/clonetiler.cpp:2636
+#: ../src/dialogs/clonetiler.cpp:2655
 msgid "B"
 msgstr "B"
 
-#: ../src/dialogs/clonetiler.cpp:2637
+#: ../src/dialogs/clonetiler.cpp:2656
 msgid "Pick the Blue component of the color"
 msgstr "Capturar o componente Azul da cor"
 
 # Não devemos traduzir "clonetiler"?
 #. 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
+#: ../src/dialogs/clonetiler.cpp:2665
 msgid "clonetiler|H"
 msgstr "clonetiler|H"
 
-#: ../src/dialogs/clonetiler.cpp:2647
+#: ../src/dialogs/clonetiler.cpp:2666
 msgid "Pick the hue of the color"
 msgstr "Capturar a tonalidade da cor"
 
 #. 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
+#: ../src/dialogs/clonetiler.cpp:2675
 msgid "clonetiler|S"
 msgstr "clonetiler|S"
 
-#: ../src/dialogs/clonetiler.cpp:2657
+#: ../src/dialogs/clonetiler.cpp:2676
 msgid "Pick the saturation of the color"
 msgstr "Capturar a saturação da cor"
 
 #. 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
+#: ../src/dialogs/clonetiler.cpp:2685
 msgid "clonetiler|L"
 msgstr "clonetiler|L"
 
-#: ../src/dialogs/clonetiler.cpp:2667
+#: ../src/dialogs/clonetiler.cpp:2686
 msgid "Pick the lightness of the color"
 msgstr "Capturar o brilho da cor"
 
-#: ../src/dialogs/clonetiler.cpp:2677
+#: ../src/dialogs/clonetiler.cpp:2696
 msgid "2. Tweak the picked value:"
 msgstr "2. Altere o valor requerido:"
 
-#: ../src/dialogs/clonetiler.cpp:2687
+#: ../src/dialogs/clonetiler.cpp:2706
 msgid "Gamma-correct:"
 msgstr "Correção-gama:"
 
-#: ../src/dialogs/clonetiler.cpp:2692
+#: ../src/dialogs/clonetiler.cpp:2711
 msgid "Shift the mid-range of the picked value upwards (>0) or downwards (<0)"
 msgstr ""
 "Desloque a escala média do valor escolhido para cima (> 0) ou para baixo (< "
 "0)"
 
-#: ../src/dialogs/clonetiler.cpp:2699
+#: ../src/dialogs/clonetiler.cpp:2718
 msgid "Randomize:"
 msgstr "Randomizar:"
 
-#: ../src/dialogs/clonetiler.cpp:2704
+#: ../src/dialogs/clonetiler.cpp:2723
 msgid "Randomize the picked value by this percentage"
 msgstr "Randomizar o valor captado sob esta percentagem"
 
-#: ../src/dialogs/clonetiler.cpp:2711
+#: ../src/dialogs/clonetiler.cpp:2730
 msgid "Invert:"
 msgstr "Inverter:"
 
-#: ../src/dialogs/clonetiler.cpp:2715
+#: ../src/dialogs/clonetiler.cpp:2734
 msgid "Invert the picked value"
 msgstr "Inverter o valor captado"
 
-#: ../src/dialogs/clonetiler.cpp:2721
+#: ../src/dialogs/clonetiler.cpp:2740
 msgid "3. Apply the value to the clones':"
 msgstr "3. Aplicar o valor aos clones:"
 
-#: ../src/dialogs/clonetiler.cpp:2731
+#: ../src/dialogs/clonetiler.cpp:2750
 msgid "Presence"
 msgstr "Presença"
 
-#: ../src/dialogs/clonetiler.cpp:2734
+#: ../src/dialogs/clonetiler.cpp:2753
 msgid ""
 "Each clone is created with the probability determined by the picked value in "
 "that point"
@@ -818,16 +817,16 @@ msgstr ""
 "Cada clone é criado com a probabilidade determinada pelo valor captado neste "
 "ponto"
 
-#: ../src/dialogs/clonetiler.cpp:2741
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
+#: ../src/dialogs/clonetiler.cpp:2760
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2221
 msgid "Size"
 msgstr "Dimensões"
 
-#: ../src/dialogs/clonetiler.cpp:2744
+#: ../src/dialogs/clonetiler.cpp:2763
 msgid "Each clone's size is determined by the picked value in that point"
 msgstr "O tamanho de cada clone é determinado pelo valor captado neste ponto"
 
-#: ../src/dialogs/clonetiler.cpp:2754
+#: ../src/dialogs/clonetiler.cpp:2773
 msgid ""
 "Each clone is painted by the picked color (the original must have unset fill "
 "or stroke)"
@@ -835,47 +834,47 @@ msgstr ""
 "Cada clone é preenchido com a cor selecionada (a original não deve ter "
 "preenchimento ou traço ativados)"
 
-#: ../src/dialogs/clonetiler.cpp:2764
+#: ../src/dialogs/clonetiler.cpp:2783
 msgid "Each clone's opacity is determined by the picked value in that point"
 msgstr "A opacidade de cada clone é determinada pelo valor captado neste ponto"
 
-#: ../src/dialogs/clonetiler.cpp:2791
+#: ../src/dialogs/clonetiler.cpp:2810
 msgid "How many rows in the tiling"
 msgstr "Quantas linhas no ladrilho"
 
-#: ../src/dialogs/clonetiler.cpp:2811
+#: ../src/dialogs/clonetiler.cpp:2830
 msgid "How many columns in the tiling"
 msgstr "Quantas colunas no ladrilho"
 
-#: ../src/dialogs/clonetiler.cpp:2841
+#: ../src/dialogs/clonetiler.cpp:2860
 msgid "Width of the rectangle to be filled"
 msgstr "Comprimento do retângulo a ser preenchido"
 
-#: ../src/dialogs/clonetiler.cpp:2866
+#: ../src/dialogs/clonetiler.cpp:2885
 msgid "Height of the rectangle to be filled"
 msgstr "Altura do retângulo a ser preenchido"
 
-#: ../src/dialogs/clonetiler.cpp:2881
+#: ../src/dialogs/clonetiler.cpp:2900
 msgid "Rows, columns: "
 msgstr "<b>Linhas, colunas:</b> "
 
-#: ../src/dialogs/clonetiler.cpp:2882
+#: ../src/dialogs/clonetiler.cpp:2901
 msgid "Create the specified number of rows and columns"
 msgstr "Criar o número especificado de linhas e colunas"
 
-#: ../src/dialogs/clonetiler.cpp:2891
+#: ../src/dialogs/clonetiler.cpp:2910
 msgid "Width, height: "
 msgstr "Largura, altura: "
 
-#: ../src/dialogs/clonetiler.cpp:2892
+#: ../src/dialogs/clonetiler.cpp:2911
 msgid "Fill the specified width and height with the tiling"
 msgstr "Preencher a largura e altura com os ladrilhos"
 
-#: ../src/dialogs/clonetiler.cpp:2908
+#: ../src/dialogs/clonetiler.cpp:2927
 msgid "Use saved size and position of the tile"
 msgstr "Usar tamanho e posição salvos do ladrilho"
 
-#: ../src/dialogs/clonetiler.cpp:2911
+#: ../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"
@@ -883,11 +882,11 @@ msgstr ""
 "Fazer com que o tamanho e posição do ladrilho sejam as mesmas da última vez "
 "que você o fez (se fez), ao invés do tamanho atual"
 
-#: ../src/dialogs/clonetiler.cpp:2935
+#: ../src/dialogs/clonetiler.cpp:2954
 msgid " <b>_Create</b> "
 msgstr " <b>_Criar</b> "
 
-#: ../src/dialogs/clonetiler.cpp:2937
+#: ../src/dialogs/clonetiler.cpp:2956
 msgid "Create and tile the clones of the selection"
 msgstr "Criar e ladrilhar os clones da seleção"
 
@@ -896,28 +895,28 @@ msgstr "Criar e ladrilhar os clones da seleção"
 #. 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
+#: ../src/dialogs/clonetiler.cpp:2971
 msgid " _Unclump "
 msgstr " _Desagrupar "
 
-#: ../src/dialogs/clonetiler.cpp:2953
+#: ../src/dialogs/clonetiler.cpp:2972
 msgid "Spread out clones to reduce clumping; can be applied repeatedly"
 msgstr "Espalhar clones para reduzir o ruído; pode ser aplicado repetidamente"
 
-#: ../src/dialogs/clonetiler.cpp:2959
+#: ../src/dialogs/clonetiler.cpp:2978
 msgid " Re_move "
 msgstr " Re_mover "
 
-#: ../src/dialogs/clonetiler.cpp:2960
+#: ../src/dialogs/clonetiler.cpp:2979
 msgid "Remove existing tiled clones of the selected object (siblings only)"
 msgstr "Remover clones ladrilhados do objeto selecionado (somente cópias)"
 
-#: ../src/dialogs/clonetiler.cpp:2976
+#: ../src/dialogs/clonetiler.cpp:2995
 msgid " R_eset "
 msgstr " R_edefinir "
 
 #. TRANSLATORS: "change" is a noun here
-#: ../src/dialogs/clonetiler.cpp:2978
+#: ../src/dialogs/clonetiler.cpp:2997
 msgid ""
 "Reset all shifts, scales, rotates, opacity and color changes in the dialog "
 "to zero"
@@ -955,15 +954,15 @@ msgstr "Liberar mensagens de depuração"
 msgid "none"
 msgstr "nenhum"
 
-#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2532
+#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2598
 msgid "_Page"
 msgstr "_Página"
 
-#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2536
+#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2602
 msgid "_Drawing"
 msgstr "_Desenho"
 
-#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2538
+#: ../src/dialogs/export.cpp:143 ../src/verbs.cpp:2604
 msgid "_Selection"
 msgstr "_Seleção"
 
@@ -971,53 +970,53 @@ msgstr "_Seleção"
 msgid "_Custom"
 msgstr "_Personalizado"
 
-#: ../src/dialogs/export.cpp:267
+#: ../src/dialogs/export.cpp:268
 msgid "<big><b>Export area</b></big>"
 msgstr "<big><b>Exportar área</b></big>"
 
-#: ../src/dialogs/export.cpp:281
+#: ../src/dialogs/export.cpp:282
 msgid "Units:"
 msgstr "Unidades:"
 
-#: ../src/dialogs/export.cpp:309
+#: ../src/dialogs/export.cpp:310
 msgid "_x0:"
 msgstr "_x0:"
 
-#: ../src/dialogs/export.cpp:314
+#: ../src/dialogs/export.cpp:315
 msgid "x_1:"
 msgstr "x_1:"
 
 #. Stroke width
-#: ../src/dialogs/export.cpp:319 ../src/dialogs/object-attributes.cpp:60
+#: ../src/dialogs/export.cpp:320 ../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:1083 ../src/widgets/toolbox.cpp:3660
+#: ../src/widgets/toolbox.cpp:4251 ../src/widgets/toolbox.cpp:5263
 msgid "Width:"
 msgstr "Largura:"
 
-#: ../src/dialogs/export.cpp:325
+#: ../src/dialogs/export.cpp:326
 msgid "_y0:"
 msgstr "_y0:"
 
-#: ../src/dialogs/export.cpp:330
+#: ../src/dialogs/export.cpp:331
 msgid "y_1:"
 msgstr "y_1:"
 
-#: ../src/dialogs/export.cpp:335 ../src/dialogs/export.cpp:495
+#: ../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 "Altura:"
 
-#: ../src/dialogs/export.cpp:466
+#: ../src/dialogs/export.cpp:468
 msgid "<big><b>Bitmap size</b></big>"
 msgstr "<big><b>Tamanho do bitmap</b></big>"
 
-#: ../src/dialogs/export.cpp:479 ../src/ui/widget/page-sizer.cpp:191
+#: ../src/dialogs/export.cpp:481 ../src/ui/widget/page-sizer.cpp:209
 msgid "_Width:"
 msgstr "_Largura:"
 
-#: ../src/dialogs/export.cpp:479 ../src/dialogs/export.cpp:495
+#: ../src/dialogs/export.cpp:481 ../src/dialogs/export.cpp:495
 msgid "pixels at"
 msgstr "pixels em"
 
@@ -1025,24 +1024,25 @@ msgstr "pixels em"
 msgid "dp_i"
 msgstr "dp_i"
 
-#: ../src/dialogs/export.cpp:508 ../src/ui/dialog/inkscape-preferences.cpp:673
+#: ../src/dialogs/export.cpp:506 ../src/ui/dialog/inkscape-preferences.cpp:699
+#: ../src/ui/dialog/inkscape-preferences.cpp:1061
 msgid "dpi"
 msgstr "dpi"
 
 #. true = has mnemonic
-#: ../src/dialogs/export.cpp:519
+#: ../src/dialogs/export.cpp:517
 msgid "<big><b>_Filename</b></big>"
 msgstr "<big><b>_Nome do arquivo</b></big>"
 
-#: ../src/dialogs/export.cpp:590
+#: ../src/dialogs/export.cpp:588
 msgid "_Browse..."
 msgstr "_Navegar..."
 
-#: ../src/dialogs/export.cpp:619
+#: ../src/dialogs/export.cpp:617
 msgid "Batch export all selected objects"
 msgstr "Exportar em grupo todos os objetos selecionados"
 
-#: ../src/dialogs/export.cpp:623
+#: ../src/dialogs/export.cpp:621
 msgid ""
 "Export each selected object into its own PNG file, using export hints if any "
 "(caution, overwrites without asking!)"
@@ -1050,62 +1050,62 @@ msgstr ""
 "Exportar cada objeto selecionado para seu próprio arquivo PNG (sobrescreve "
 "sem perguntar)"
 
-#: ../src/dialogs/export.cpp:631
+#: ../src/dialogs/export.cpp:629
 msgid "Hide all except selected"
 msgstr "Ocultar tudo exceto selecionado"
 
-#: ../src/dialogs/export.cpp:635
+#: ../src/dialogs/export.cpp:633
 msgid "In the exported image, hide all objects except those that are selected"
 msgstr "Na imagem exportada, ocultar todos os objetos exceto os selecionados"
 
-#: ../src/dialogs/export.cpp:652
+#: ../src/dialogs/export.cpp:650
 msgid "_Export"
 msgstr "_Exportar"
 
-#: ../src/dialogs/export.cpp:656
+#: ../src/dialogs/export.cpp:654
 msgid "Export the bitmap file with these settings"
 msgstr "Exportar o arquivo bitmap com estas configurações"
 
-#: ../src/dialogs/export.cpp:682
+#: ../src/dialogs/export.cpp:680
 #, c-format
 msgid "Batch export %d selected object"
 msgid_plural "Batch export %d selected objects"
 msgstr[0] "Exportar em lote %d objeto selecionado"
 msgstr[1] "Exportar em lote %d objetos selecionados"
 
-#: ../src/dialogs/export.cpp:1014
+#: ../src/dialogs/export.cpp:1011
 msgid "Export in progress"
 msgstr "Exportação em progresso"
 
-#: ../src/dialogs/export.cpp:1084
+#: ../src/dialogs/export.cpp:1081
 #, c-format
 msgid "Exporting %d files"
 msgstr "Exportando %d arquivos"
 
-#: ../src/dialogs/export.cpp:1124 ../src/dialogs/export.cpp:1196
+#: ../src/dialogs/export.cpp:1121 ../src/dialogs/export.cpp:1193
 #, c-format
 msgid "Could not export to filename %s.\n"
 msgstr "Não foi possível exportar para o arquivo %s.\n"
 
-#: ../src/dialogs/export.cpp:1152
+#: ../src/dialogs/export.cpp:1149
 msgid "You have to enter a filename"
 msgstr "Você deve informar um nome de arquivo"
 
-#: ../src/dialogs/export.cpp:1157
+#: ../src/dialogs/export.cpp:1154
 msgid "The chosen area to be exported is invalid"
 msgstr "A área escolhida para ser exportada não é válida"
 
-#: ../src/dialogs/export.cpp:1166
+#: ../src/dialogs/export.cpp:1163
 #, c-format
 msgid "Directory %s does not exist or is not a directory.\n"
 msgstr "A pasta %s não existe ou não é uma pasta.\n"
 
-#: ../src/dialogs/export.cpp:1182
+#: ../src/dialogs/export.cpp:1179
 #, c-format
 msgid "Exporting %s (%lu x %lu)"
 msgstr "Exportando %s (%lu x %lu)"
 
-#: ../src/dialogs/export.cpp:1303
+#: ../src/dialogs/export.cpp:1300
 msgid "Select a filename for exporting"
 msgstr "Selecione um nome de arquivo para exportar"
 
@@ -1118,7 +1118,7 @@ msgid "Set fill color"
 msgstr "Definir cor de preenchimento"
 
 #: ../src/dialogs/fill-style.cpp:385 ../src/ui/widget/selected-style.cpp:255
-#: ../src/ui/widget/selected-style.cpp:479
+#: ../src/ui/widget/selected-style.cpp:475
 msgid "Remove fill"
 msgstr "Remover preenchimento"
 
@@ -1133,7 +1133,7 @@ msgstr "Definir padrão de preenchimento"
 #. 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/selected-style.cpp:493
 #: ../src/ui/widget/style-swatch.cpp:335
 msgid "Unset fill"
 msgstr "Desfazer preenchimento"
@@ -1242,7 +1242,6 @@ msgstr "Procurar clones"
 
 #. 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
 msgid "find|Clones"
 msgstr "Clones"
 
@@ -1351,13 +1350,13 @@ msgstr "Unidade:"
 
 #: ../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:1438
 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:1266
+#: ../src/dialogs/object-attributes.cpp:67 ../src/widgets/toolbox.cpp:1456
 msgid "Y:"
 msgstr "Y:"
 
@@ -1398,9 +1397,9 @@ msgid "%d x %d"
 msgstr "%d x %d"
 
 #: ../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
+#: ../src/ui/dialog/align-and-distribute.cpp:918
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1371
+#: ../src/widgets/desktop-widget.cpp:1580
 msgid "Selection"
 msgstr "Seleção"
 
@@ -1414,22 +1413,24 @@ msgstr "Atualizar os ícones"
 
 #. 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
+#: ../src/dialogs/item-properties.cpp:326
+#: ../src/dialogs/item-properties.cpp:419
+#: ../src/dialogs/item-properties.cpp:426
 msgid "_Id"
 msgstr "_Id"
 
 #: ../src/dialogs/item-properties.cpp:129
 #, fuzzy
 msgid ""
+"_:"
 "The id= attribute (only letters, digits, and the characters .-_: allowed)"
+""
 msgstr ""
 "_:No atributo id= (apenas letras, dígitos, e caracteres .- são permitidos)"
 
 #. 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
+#: ../src/dialogs/item-properties.cpp:143 ../src/verbs.cpp:2461
+#: ../src/verbs.cpp:2467
 msgid "_Set"
 msgstr "_Aplicar"
 
@@ -1443,77 +1444,76 @@ msgid "A freeform label for the object"
 msgstr "Um rótulo com forma livre para o objeto"
 
 #. Create the label for the object title
-#: ../src/dialogs/item-properties.cpp:173 ../src/dialogs/rdf.cpp:238
-msgid "Title"
-msgstr "Título"
+#: ../src/dialogs/item-properties.cpp:173
+msgid "_Title"
+msgstr "_Título"
 
 #. 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 "Descrição"
+#: ../src/dialogs/item-properties.cpp:191
+msgid "_Description"
+msgstr "_Descrição"
 
 #. Hide
-#: ../src/dialogs/item-properties.cpp:218
+#: ../src/dialogs/item-properties.cpp:222
 msgid "_Hide"
 msgstr "_Ocultar"
 
-#: ../src/dialogs/item-properties.cpp:219
+#: ../src/dialogs/item-properties.cpp:223
 msgid "Check to make the object invisible"
 msgstr "Marque para tornar o objeto invisível"
 
 #. Lock
 #. TRANSLATORS: "Lock" is a verb here
-#: ../src/dialogs/item-properties.cpp:228
+#: ../src/dialogs/item-properties.cpp:232
 msgid "L_ock"
 msgstr "T_ravar"
 
-#: ../src/dialogs/item-properties.cpp:229
+#: ../src/dialogs/item-properties.cpp:233
 msgid "Check to make the object insensitive (not selectable by mouse)"
 msgstr "Marque para fazer o objeto intangível (não selecionável pelo mouse)"
 
-#: ../src/dialogs/item-properties.cpp:305
-#: ../src/dialogs/item-properties.cpp:312
+#: ../src/dialogs/item-properties.cpp:309
+#: ../src/dialogs/item-properties.cpp:316
 msgid "Ref"
 msgstr "Ref"
 
-#: ../src/dialogs/item-properties.cpp:372
+#: ../src/dialogs/item-properties.cpp:378
 msgid "Lock object"
 msgstr "Travar objeto"
 
-#: ../src/dialogs/item-properties.cpp:372
+#: ../src/dialogs/item-properties.cpp:378
 msgid "Unlock object"
 msgstr "Destravar objetos"
 
-#: ../src/dialogs/item-properties.cpp:391
+#: ../src/dialogs/item-properties.cpp:397
 msgid "Hide object"
 msgstr "Ocultar objeto"
 
-#: ../src/dialogs/item-properties.cpp:391
+#: ../src/dialogs/item-properties.cpp:397
 msgid "Unhide object"
 msgstr "Mostrar objeto"
 
-#: ../src/dialogs/item-properties.cpp:415
+#: ../src/dialogs/item-properties.cpp:421
 msgid "Id invalid! "
 msgstr "ID inválido! "
 
-#: ../src/dialogs/item-properties.cpp:417
+#: ../src/dialogs/item-properties.cpp:423
 msgid "Id exists! "
 msgstr "ID existe! "
 
-#: ../src/dialogs/item-properties.cpp:424
+#: ../src/dialogs/item-properties.cpp:430
 msgid "Set object ID"
 msgstr "Ajustar ID do objeto"
 
-#: ../src/dialogs/item-properties.cpp:439
+#: ../src/dialogs/item-properties.cpp:445
 msgid "Set object label"
 msgstr "Ajustar rótulo do objeto"
 
-#: ../src/dialogs/item-properties.cpp:450
+#: ../src/dialogs/item-properties.cpp:453
 msgid "Set object title"
 msgstr "Ajustar título do objeto"
 
-#: ../src/dialogs/item-properties.cpp:465
+#: ../src/dialogs/item-properties.cpp:463
 msgid "Set object description"
 msgstr "Ajustar descrição do objeto"
 
@@ -1570,43 +1570,47 @@ msgstr "_Adicionar"
 msgid "New layer created."
 msgstr "Nova camada criada."
 
-#: ../src/dialogs/layers-panel.cpp:579 ../src/widgets/layer-selector.cpp:595
+#: ../src/dialogs/layers-panel.cpp:483 ../src/widgets/layer-selector.cpp:595
 msgid "Unhide layer"
 msgstr "Mostrar Camada"
 
-#: ../src/dialogs/layers-panel.cpp:579 ../src/widgets/layer-selector.cpp:595
+#: ../src/dialogs/layers-panel.cpp:483 ../src/widgets/layer-selector.cpp:595
 msgid "Hide layer"
 msgstr "Ocultar Camada"
 
-#: ../src/dialogs/layers-panel.cpp:590 ../src/widgets/layer-selector.cpp:587
+#: ../src/dialogs/layers-panel.cpp:494 ../src/widgets/layer-selector.cpp:587
 msgid "Lock layer"
 msgstr "Travar Camada"
 
-#: ../src/dialogs/layers-panel.cpp:590 ../src/widgets/layer-selector.cpp:587
+#: ../src/dialogs/layers-panel.cpp:494 ../src/widgets/layer-selector.cpp:587
 msgid "Unlock layer"
 msgstr "Destravar Camada"
 
-#: ../src/dialogs/layers-panel.cpp:735
+#: ../src/dialogs/layers-panel.cpp:634
+msgid "Layers"
+msgstr "Camadas"
+
+#: ../src/dialogs/layers-panel.cpp:643
 msgid "New"
 msgstr "Novo"
 
-#: ../src/dialogs/layers-panel.cpp:740 ../share/extensions/restack.inx.h:16
+#: ../src/dialogs/layers-panel.cpp:648 ../share/extensions/restack.inx.h:16
 msgid "Top"
 msgstr "Topo"
 
-#: ../src/dialogs/layers-panel.cpp:746
+#: ../src/dialogs/layers-panel.cpp:654
 msgid "Up"
 msgstr "Acima"
 
-#: ../src/dialogs/layers-panel.cpp:752
+#: ../src/dialogs/layers-panel.cpp:660
 msgid "Dn"
 msgstr "Abaixo"
 
-#: ../src/dialogs/layers-panel.cpp:758
+#: ../src/dialogs/layers-panel.cpp:666
 msgid "Bot"
 msgstr "Fundo"
 
-#: ../src/dialogs/layers-panel.cpp:768
+#: ../src/dialogs/layers-panel.cpp:676
 msgid "X"
 msgstr "X"
 
@@ -1659,140 +1663,144 @@ msgstr "URL:"
 msgid "%s Properties"
 msgstr "%s Propriedades"
 
-#: ../src/dialogs/rdf.cpp:181
+#: ../src/dialogs/rdf.cpp:182
 msgid "CC Attribution"
 msgstr "Atribuição CC"
 
-#: ../src/dialogs/rdf.cpp:186
+#: ../src/dialogs/rdf.cpp:187
 msgid "CC Attribution-ShareAlike"
 msgstr "CC Atribuição-Compatilhamento pela mesma licença"
 
-#: ../src/dialogs/rdf.cpp:191
+#: ../src/dialogs/rdf.cpp:192
 msgid "CC Attribution-NoDerivs"
 msgstr "CC Atribuição-NãoDerivados"
 
-#: ../src/dialogs/rdf.cpp:196
+#: ../src/dialogs/rdf.cpp:197
 msgid "CC Attribution-NonCommercial"
 msgstr "CC Atribuição-NãoComercial"
 
-#: ../src/dialogs/rdf.cpp:201
+#: ../src/dialogs/rdf.cpp:202
 msgid "CC Attribution-NonCommercial-ShareAlike"
 msgstr "CC Atribuição-NãoComercial-Compatilhamento pela mesma licença"
 
-#: ../src/dialogs/rdf.cpp:206
+#: ../src/dialogs/rdf.cpp:207
 msgid "CC Attribution-NonCommercial-NoDerivs"
 msgstr "CC Atribuição-NãoComercial-NãoDerivados"
 
-#: ../src/dialogs/rdf.cpp:211
+#: ../src/dialogs/rdf.cpp:212
 msgid "Public Domain"
 msgstr "Domínio Público"
 
-#: ../src/dialogs/rdf.cpp:216
+#: ../src/dialogs/rdf.cpp:217
 msgid "FreeArt"
 msgstr "ArteLivre"
 
-#: ../src/dialogs/rdf.cpp:221
+#: ../src/dialogs/rdf.cpp:222
 msgid "Open Font License"
 msgstr "Licença Open Font"
 
 #: ../src/dialogs/rdf.cpp:239
+msgid "Title"
+msgstr "Título"
+
+#: ../src/dialogs/rdf.cpp:240
 msgid "Name by which this document is formally known."
 msgstr "O nome pelo qual este desenho será formalmente conhecido."
 
-#: ../src/dialogs/rdf.cpp:241
+#: ../src/dialogs/rdf.cpp:242
 msgid "Date"
 msgstr "Data"
 
-#: ../src/dialogs/rdf.cpp:242
+#: ../src/dialogs/rdf.cpp:243
 msgid "Date associated with the creation of this document (YYYY-MM-DD)."
 msgstr "Data associada com a criação deste desenho (AAAA-MM-DD)."
 
-#: ../src/dialogs/rdf.cpp:244
+#: ../src/dialogs/rdf.cpp:245
 msgid "Format"
 msgstr "Formato"
 
-#: ../src/dialogs/rdf.cpp:245
+#: ../src/dialogs/rdf.cpp:246
 msgid "The physical or digital manifestation of this document (MIME type)."
 msgstr "A manifestação física ou digital deste desenho (tipo 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/ui/dialog/filter-effects-dialog.cpp:2194
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2273
+#: ../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 "Tipo"
 
-#: ../src/dialogs/rdf.cpp:248
+#: ../src/dialogs/rdf.cpp:249
 msgid "Type of document (DCMI Type)."
 msgstr "Tipo do desenho (tipo DCMI)."
 
-#: ../src/dialogs/rdf.cpp:251
+#: ../src/dialogs/rdf.cpp:252
 msgid "Creator"
 msgstr "Criador"
 
-#: ../src/dialogs/rdf.cpp:252
+#: ../src/dialogs/rdf.cpp:253
 msgid ""
 "Name of entity primarily responsible for making the content of this document."
 msgstr ""
 "Nome da entidade responsável pela elaboração do conteúdo deste desenho."
 
-#: ../src/dialogs/rdf.cpp:254
+#: ../src/dialogs/rdf.cpp:255
 msgid "Rights"
 msgstr "Direitos"
 
-#: ../src/dialogs/rdf.cpp:255
+#: ../src/dialogs/rdf.cpp:256
 msgid ""
 "Name of entity with rights to the Intellectual Property of this document."
 msgstr ""
 "Nome da entidade com os direitos de Propriedade Intelectual deste documento."
 
-#: ../src/dialogs/rdf.cpp:257
+#: ../src/dialogs/rdf.cpp:258
 msgid "Publisher"
 msgstr "Publicador"
 
-#: ../src/dialogs/rdf.cpp:258
+#: ../src/dialogs/rdf.cpp:259
 msgid "Name of entity responsible for making this document available."
 msgstr "Nome da entidade responsável por fazer este desenho disponível."
 
-#: ../src/dialogs/rdf.cpp:261
+#: ../src/dialogs/rdf.cpp:262
 msgid "Identifier"
 msgstr "Identificador"
 
-#: ../src/dialogs/rdf.cpp:262
+#: ../src/dialogs/rdf.cpp:263
 msgid "Unique URI to reference this document."
 msgstr "URL única para referenciar este desenho."
 
-#: ../src/dialogs/rdf.cpp:264 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1392
+#: ../src/dialogs/rdf.cpp:265 ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1395
 msgid "Source"
 msgstr "Fonte"
 
-#: ../src/dialogs/rdf.cpp:265
+#: ../src/dialogs/rdf.cpp:266
 msgid "Unique URI to reference the source of this document."
 msgstr "URI única para referenciar a fonte deste desenho."
 
-#: ../src/dialogs/rdf.cpp:267
+#: ../src/dialogs/rdf.cpp:268
 msgid "Relation"
 msgstr "Relação"
 
-#: ../src/dialogs/rdf.cpp:268
+#: ../src/dialogs/rdf.cpp:269
 msgid "Unique URI to a related document."
 msgstr "URL única para um desenho relacionado."
 
-#: ../src/dialogs/rdf.cpp:270
+#: ../src/dialogs/rdf.cpp:271
 msgid "Language"
 msgstr "Linguagem"
 
-#: ../src/dialogs/rdf.cpp:271
+#: ../src/dialogs/rdf.cpp:272
 msgid ""
 "Two-letter language tag with optional subtags for the language of this "
 "document.  (e.g. 'en-GB')"
 msgstr "Etiqueta de linguagem para a linguagem deste desenho. (ex: pt-BR)"
 
-#: ../src/dialogs/rdf.cpp:273
+#: ../src/dialogs/rdf.cpp:274
 msgid "Keywords"
 msgstr "Palavras chave"
 
-#: ../src/dialogs/rdf.cpp:274
+#: ../src/dialogs/rdf.cpp:275
 msgid ""
 "The topic of this document as comma-separated key words, phrases, or "
 "classifications."
@@ -1802,24 +1810,28 @@ 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
+#: ../src/dialogs/rdf.cpp:279
 msgid "Coverage"
 msgstr "Cobertura"
 
-#: ../src/dialogs/rdf.cpp:279
+#: ../src/dialogs/rdf.cpp:280
 msgid "Extent or scope of this document."
 msgstr "Extensão ou escopo deste documento."
 
-#: ../src/dialogs/rdf.cpp:283
+#: ../src/dialogs/rdf.cpp:283 ../src/ui/widget/page-sizer.cpp:218
+msgid "Description"
+msgstr "Descrição"
+
+#: ../src/dialogs/rdf.cpp:284
 msgid "A short account of the content of this document."
 msgstr "Uma esplicação curta para o conteúdo deste desenho."
 
 #. FIXME: need to handle 1 agent per line of input
-#: ../src/dialogs/rdf.cpp:287
+#: ../src/dialogs/rdf.cpp:288
 msgid "Contributors"
 msgstr "Contribuidores"
 
-#: ../src/dialogs/rdf.cpp:288
+#: ../src/dialogs/rdf.cpp:289
 msgid ""
 "Names of entities responsible for making contributions to the content of "
 "this document."
@@ -1827,21 +1839,21 @@ msgstr ""
 "Nome das entidades responsáveis por contribuições ao conteúdo deste desenho."
 
 #. TRANSLATORS: URL to a page that defines the license for the document
-#: ../src/dialogs/rdf.cpp:292
+#: ../src/dialogs/rdf.cpp:293
 msgid "URI"
 msgstr "URL"
 
 #. TRANSLATORS: this is where you put a URL to a page that defines the license
-#: ../src/dialogs/rdf.cpp:294
+#: ../src/dialogs/rdf.cpp:295
 msgid "URI to this document's license's namespace definition."
 msgstr "URL da definição de espaço de nome da licença deste desenho."
 
 #. TRANSLATORS: fragment of XML representing the license of the document
-#: ../src/dialogs/rdf.cpp:298
+#: ../src/dialogs/rdf.cpp:299
 msgid "Fragment"
 msgstr "Fragmento"
 
-#: ../src/dialogs/rdf.cpp:299
+#: ../src/dialogs/rdf.cpp:300
 msgid "XML fragment for the RDF 'License' section."
 msgstr "Fragmento XML para a seção 'Licença' RDF."
 
@@ -1851,79 +1863,80 @@ msgstr "Fragmento XML para a seção 'Licença' RDF."
 msgid "Set attribute"
 msgstr "Ajustar atributo"
 
-#: ../src/dialogs/stroke-style.cpp:305 ../src/dialogs/stroke-style.cpp:364
+#: ../src/dialogs/stroke-style.cpp:292 ../src/dialogs/stroke-style.cpp:351
 msgid "Set stroke color"
 msgstr "Definir cor do traço"
 
-#: ../src/dialogs/stroke-style.cpp:355 ../src/ui/widget/selected-style.cpp:255
-#: ../src/ui/widget/selected-style.cpp:488
+#: ../src/dialogs/stroke-style.cpp:342 ../src/ui/widget/selected-style.cpp:255
+#: ../src/ui/widget/selected-style.cpp:484
 msgid "Remove stroke"
 msgstr "Remover traço"
 
-#: ../src/dialogs/stroke-style.cpp:416
+#: ../src/dialogs/stroke-style.cpp:403
 msgid "Set gradient on stroke"
 msgstr "Criar degradê no traço"
 
-#: ../src/dialogs/stroke-style.cpp:460
+#: ../src/dialogs/stroke-style.cpp:447
 msgid "Set pattern on stroke"
 msgstr "Definir padrão de traço"
 
-#: ../src/dialogs/stroke-style.cpp:481 ../src/ui/widget/selected-style.cpp:193
+#: ../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:513
+#: ../src/ui/widget/selected-style.cpp:509
 #: ../src/ui/widget/style-swatch.cpp:335
 msgid "Unset stroke"
 msgstr "Redefinir o traço"
 
-#: ../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
+#: ../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:33
+#: ../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:2210
+#: ../src/widgets/toolbox.cpp:3410 ../share/extensions/grid_polar.inx.h:16
 msgid "None"
 msgstr "Nenhum"
 
-#: ../src/dialogs/stroke-style.cpp:848 ../src/widgets/gradient-vector.cpp:264
+#: ../src/dialogs/stroke-style.cpp:826 ../src/widgets/gradient-vector.cpp:264
 #: ../src/widgets/paint-selector.cpp:885
 msgid "No document selected"
 msgstr "Nenhum documento selecionado"
 
-#: ../src/dialogs/stroke-style.cpp:937
+#: ../src/dialogs/stroke-style.cpp:910
 msgid "Set markers"
 msgstr "Definir marcadores"
 
-#: ../src/dialogs/stroke-style.cpp:1104 ../share/extensions/edge3d.inx.h:9
+#: ../src/dialogs/stroke-style.cpp:1097 ../share/extensions/edge3d.inx.h:9
 msgid "Stroke width"
 msgstr "Largura do traço"
 
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1121
 msgid "Join:"
 msgstr "Juntas:"
 
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1133
 msgid "Miter join"
 msgstr "Junção aguda"
 
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1141
 msgid "Round join"
 msgstr "Junção arredondada"
 
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1149
 msgid "Bevel join"
 msgstr "Junção chanfrada"
 
@@ -1934,58 +1947,58 @@ msgstr "Junção chanfrada"
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1160
 msgid "Miter limit:"
 msgstr "Limite de aguçamento:"
 
-#: ../src/dialogs/stroke-style.cpp:1174
+#: ../src/dialogs/stroke-style.cpp:1168
 msgid "Maximum length of the miter (in units of stroke width)"
 msgstr "Tamanho máximo do aguçamento (em unidades de largura de traço)"
 
 #. Cap type
 #. TRANSLATORS: cap type specifies the shape for the ends of lines
-#: ../src/dialogs/stroke-style.cpp:1187
+#: ../src/dialogs/stroke-style.cpp:1180
 msgid "Cap:"
 msgstr "Ponta:"
 
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1191
 msgid "Butt cap"
 msgstr "Sem ponta"
 
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1198
 msgid "Round cap"
 msgstr "Ponta redonda"
 
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1205
 msgid "Square cap"
 msgstr "Ponta quadrada"
 
 #. Dash
-#: ../src/dialogs/stroke-style.cpp:1218
+#: ../src/dialogs/stroke-style.cpp:1211
 msgid "Dashes:"
 msgstr "Traços:"
 
 #. 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
+#: ../src/dialogs/stroke-style.cpp:1228
 msgid "Start Markers:"
 msgstr "Marcadores iniciais:"
 
-#: ../src/dialogs/stroke-style.cpp:1249
+#: ../src/dialogs/stroke-style.cpp:1238
 msgid "Mid Markers:"
 msgstr "Marcadores centrais:"
 
-#: ../src/dialogs/stroke-style.cpp:1259
+#: ../src/dialogs/stroke-style.cpp:1248
 msgid "End Markers:"
 msgstr "Marcadores finais:"
 
-#: ../src/dialogs/stroke-style.cpp:1605 ../src/dialogs/stroke-style.cpp:1703
+#: ../src/dialogs/stroke-style.cpp:1572 ../src/dialogs/stroke-style.cpp:1668
 msgid "Set stroke style"
 msgstr "Definir estilo de traço"
 
@@ -1993,7 +2006,7 @@ msgstr "Definir estilo de traço"
 #, c-format
 msgid ""
 "Color: <b>%s</b>; <b>Click</b> to set fill, <b>Shift+click</b> to set stroke"
-msgstr ""
+msgstr "Cor: <b>%s</b>; <b>Clique</b> para definir o preenchimento, <b>Shift+clique</b> para definir a linha"
 
 #. TRANSLATORS: An item in context menu on a colour in the swatches
 #: ../src/dialogs/swatches.cpp:298
@@ -2022,8 +2035,7 @@ msgstr "Definir preenchimento da paleta de cores de cores"
 msgid "Palettes directory (%s) is unavailable."
 msgstr "Diretório de paletas (%s) não está disponível."
 
-#. TODO:  Insert widgets
-#: ../src/dialogs/text-edit.cpp:200 ../src/ui/dialog/text-properties.cpp:36
+#: ../src/dialogs/text-edit.cpp:200
 msgid "Font"
 msgstr "Fonte"
 
@@ -2048,11 +2060,11 @@ msgstr "Alinhar linhas à direita"
 msgid "Justify lines"
 msgstr "Justificar linhas"
 
-#: ../src/dialogs/text-edit.cpp:302 ../src/widgets/toolbox.cpp:5354
+#: ../src/dialogs/text-edit.cpp:302 ../src/widgets/toolbox.cpp:6301
 msgid "Horizontal text"
 msgstr "Texto horizontal"
 
-#: ../src/dialogs/text-edit.cpp:316 ../src/widgets/toolbox.cpp:5366
+#: ../src/dialogs/text-edit.cpp:316 ../src/widgets/toolbox.cpp:6313
 msgid "Vertical text"
 msgstr "Texto vertical"
 
@@ -2062,8 +2074,7 @@ msgstr "Espaçamento de linha:"
 
 #. 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
+#: ../src/ui/dialog/inkscape-preferences.cpp:479 ../src/verbs.cpp:2497
 #: ../share/extensions/lorem_ipsum.inx.h:5
 #: ../share/extensions/render_alphabetsoup.inx.h:4
 #: ../share/extensions/text_braille.inx.h:2
@@ -2081,79 +2092,79 @@ msgstr "Texto"
 msgid "Set as default"
 msgstr "Ajustar como padrão"
 
-#: ../src/dialogs/text-edit.cpp:665 ../src/text-context.cpp:1438
+#: ../src/dialogs/text-edit.cpp:665 ../src/text-context.cpp:1508
 msgid "Set text style"
 msgstr "Definir estilo do texto"
 
-#: ../src/dialogs/tiledialog.cpp:353
+#: ../src/dialogs/tiledialog.cpp:352
 msgid "Arrange in a grid"
 msgstr "Organizar na grade"
 
-#: ../src/dialogs/tiledialog.cpp:654
+#: ../src/dialogs/tiledialog.cpp:656
 msgid "Rows:"
 msgstr "Linhas:"
 
-#: ../src/dialogs/tiledialog.cpp:662
+#: ../src/dialogs/tiledialog.cpp:664
 msgid "Number of rows"
 msgstr "Número de linhas"
 
-#: ../src/dialogs/tiledialog.cpp:666
+#: ../src/dialogs/tiledialog.cpp:668
 msgid "Equal height"
 msgstr "Altura igual"
 
-#: ../src/dialogs/tiledialog.cpp:676
+#: ../src/dialogs/tiledialog.cpp:678
 msgid "If not set, each row has the height of the tallest object in it"
 msgstr ""
 "Se não configurado, cada linha terá a altura do objeto mais alto dentre eles"
 
 #. #### 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:684 ../src/dialogs/tiledialog.cpp:754
 msgid "Align:"
 msgstr "Alinhar:"
 
 #. #### Number of columns ####
-#: ../src/dialogs/tiledialog.cpp:724
+#: ../src/dialogs/tiledialog.cpp:726
 msgid "Columns:"
 msgstr "Colunas:"
 
-#: ../src/dialogs/tiledialog.cpp:732
+#: ../src/dialogs/tiledialog.cpp:734
 msgid "Number of columns"
 msgstr "Número de colunas"
 
-#: ../src/dialogs/tiledialog.cpp:736
+#: ../src/dialogs/tiledialog.cpp:738
 msgid "Equal width"
 msgstr "Largura igual"
 
-#: ../src/dialogs/tiledialog.cpp:745
+#: ../src/dialogs/tiledialog.cpp:747
 msgid "If not set, each column has the width of the widest object in it"
 msgstr ""
 "Se não configurado, cada coluna terá a altura do objeto mais largo dentre "
 "eles"
 
 #. #### Radio buttons to control spacing manually or to fit selection bbox ####
-#: ../src/dialogs/tiledialog.cpp:791
+#: ../src/dialogs/tiledialog.cpp:793
 msgid "Fit into selection box"
 msgstr "Ajustar à caixa de seleção"
 
-#: ../src/dialogs/tiledialog.cpp:797
+#: ../src/dialogs/tiledialog.cpp:799
 msgid "Set spacing:"
 msgstr "Definir espaçamento:"
 
-#: ../src/dialogs/tiledialog.cpp:817
+#: ../src/dialogs/tiledialog.cpp:819
 msgid "Vertical spacing between rows (px units)"
 msgstr "Espaçamento vertical entre linhas (em px)"
 
-#: ../src/dialogs/tiledialog.cpp:842
+#: ../src/dialogs/tiledialog.cpp:844
 msgid "Horizontal spacing between columns (px units)"
 msgstr "Espaçamento horizontal entre colunas (em px)"
 
 #. ## The OK button
-#: ../src/dialogs/tiledialog.cpp:865 ../share/extensions/restack.inx.h:3
+#: ../src/dialogs/tiledialog.cpp:867 ../share/extensions/restack.inx.h:3
 msgid "Arrange"
 msgstr "Arranjar"
 
-#: ../src/dialogs/tiledialog.cpp:866
+#: ../src/dialogs/tiledialog.cpp:868
 msgid "Arrange selected objects"
 msgstr "Organizar os objetos selecionados"
 
@@ -2186,33 +2197,33 @@ msgstr "Novo nó elementar"
 msgid "New text node"
 msgstr "Novo nó de texto"
 
-#: ../src/dialogs/xml-tree.cpp:347 ../src/dialogs/xml-tree.cpp:1414
-#: ../src/nodepath.cpp:2024
+#: ../src/dialogs/xml-tree.cpp:347 ../src/dialogs/xml-tree.cpp:1425
+#: ../src/nodepath.cpp:2157
 msgid "Duplicate node"
 msgstr "Duplicar nó"
 
-#: ../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:1442
+#: ../src/nodepath.cpp:3404 ../src/widgets/toolbox.cpp:1276
 msgid "Delete node"
 msgstr "Apagar nó"
 
-#: ../src/dialogs/xml-tree.cpp:384 ../src/dialogs/xml-tree.cpp:1576
+#: ../src/dialogs/xml-tree.cpp:384 ../src/dialogs/xml-tree.cpp:1587
 msgid "Unindent node"
 msgstr "Desindentar nó"
 
-#: ../src/dialogs/xml-tree.cpp:399 ../src/dialogs/xml-tree.cpp:1555
+#: ../src/dialogs/xml-tree.cpp:399 ../src/dialogs/xml-tree.cpp:1566
 msgid "Indent node"
 msgstr "Indentar nó"
 
-#: ../src/dialogs/xml-tree.cpp:411 ../src/dialogs/xml-tree.cpp:1508
+#: ../src/dialogs/xml-tree.cpp:411 ../src/dialogs/xml-tree.cpp:1519
 msgid "Raise node"
 msgstr "Levantar nó"
 
-#: ../src/dialogs/xml-tree.cpp:423 ../src/dialogs/xml-tree.cpp:1525
+#: ../src/dialogs/xml-tree.cpp:423 ../src/dialogs/xml-tree.cpp:1536
 msgid "Lower node"
 msgstr "Abaixar nó"
 
-#: ../src/dialogs/xml-tree.cpp:468 ../src/dialogs/xml-tree.cpp:1449
+#: ../src/dialogs/xml-tree.cpp:468 ../src/dialogs/xml-tree.cpp:1460
 msgid "Delete attribute"
 msgstr "Apagar atributo"
 
@@ -2235,120 +2246,116 @@ msgstr "Valor do atributo"
 msgid "Drag XML subtree"
 msgstr "Arrastar subárvore XML"
 
-#: ../src/dialogs/xml-tree.cpp:1318
+#: ../src/dialogs/xml-tree.cpp:1327
 msgid "New element node..."
 msgstr "Novo nó de elemento..."
 
-#: ../src/dialogs/xml-tree.cpp:1339
-#: ../src/ui/dialog/whiteboard-connect.cpp:114
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:103
+#: ../src/dialogs/xml-tree.cpp:1349
+#: ../src/ui/dialog/whiteboard-connect.cpp:116
+#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:102
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: ../src/dialogs/xml-tree.cpp:1345
+#: ../src/dialogs/xml-tree.cpp:1357
 msgid "Create"
 msgstr "Criar"
 
-#: ../src/dialogs/xml-tree.cpp:1380
+#: ../src/dialogs/xml-tree.cpp:1391
 msgid "Create new element node"
 msgstr "Criar novo elemento de nó"
 
-#: ../src/dialogs/xml-tree.cpp:1396
+#: ../src/dialogs/xml-tree.cpp:1407
 msgid "Create new text node"
 msgstr "Criar novo nó de texto"
 
-#: ../src/dialogs/xml-tree.cpp:1478
+#: ../src/dialogs/xml-tree.cpp:1489
 msgid "Change attribute"
 msgstr "Ajustar atributo"
 
-#: ../src/display/canvas-axonomgrid.cpp:390 ../src/display/canvas-grid.cpp:656
+#: ../src/display/canvas-axonomgrid.cpp:392 ../src/display/canvas-grid.cpp:657
 msgid "Grid _units:"
 msgstr "_Unidades da grade:"
 
-#: ../src/display/canvas-axonomgrid.cpp:392 ../src/display/canvas-grid.cpp:658
+#: ../src/display/canvas-axonomgrid.cpp:394 ../src/display/canvas-grid.cpp:659
 msgid "_Origin X:"
 msgstr "_Origem X:"
 
-#: ../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
+#: ../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 "Coordenada X da origem da grade"
 
-#: ../src/display/canvas-axonomgrid.cpp:394 ../src/display/canvas-grid.cpp:660
+#: ../src/display/canvas-axonomgrid.cpp:396 ../src/display/canvas-grid.cpp:661
 msgid "O_rigin Y:"
 msgstr "O_rigem Y:"
 
-#: ../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
+#: ../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 "Coordenada Y da origem da grade"
 
-#: ../src/display/canvas-axonomgrid.cpp:396 ../src/display/canvas-grid.cpp:664
+#: ../src/display/canvas-axonomgrid.cpp:398 ../src/display/canvas-grid.cpp:665
 msgid "Spacing _Y:"
 msgstr "Espaçamento _Y:"
 
-#: ../src/display/canvas-axonomgrid.cpp:396
-#: ../src/ui/dialog/inkscape-preferences.cpp:893
+#: ../src/display/canvas-axonomgrid.cpp:398
+#: ../src/ui/dialog/inkscape-preferences.cpp:922
 msgid "Base length of z-axis"
 msgstr "Comprimento da Base do eixo z"
 
-#: ../src/display/canvas-axonomgrid.cpp:398 ../src/widgets/toolbox.cpp:2723
+#: ../src/display/canvas-axonomgrid.cpp:400
+#: ../src/ui/dialog/inkscape-preferences.cpp:925
+#: ../src/widgets/toolbox.cpp:2945
 msgid "Angle X:"
 msgstr "Ângulo X:"
 
-#: ../src/display/canvas-axonomgrid.cpp:398
-#: ../src/ui/dialog/inkscape-preferences.cpp:896
+#: ../src/display/canvas-axonomgrid.cpp:400
+#: ../src/ui/dialog/inkscape-preferences.cpp:925
 msgid "Angle of x-axis"
 msgstr "Ângulo do eixo x"
 
-#: ../src/display/canvas-axonomgrid.cpp:400 ../src/widgets/toolbox.cpp:2802
+#: ../src/display/canvas-axonomgrid.cpp:402
+#: ../src/ui/dialog/inkscape-preferences.cpp:926
+#: ../src/widgets/toolbox.cpp:3024
 msgid "Angle Z:"
 msgstr "Ângulo Z:"
 
-#: ../src/display/canvas-axonomgrid.cpp:400
-#: ../src/ui/dialog/inkscape-preferences.cpp:897
+#: ../src/display/canvas-axonomgrid.cpp:402
+#: ../src/ui/dialog/inkscape-preferences.cpp:926
 msgid "Angle of z-axis"
 msgstr "Ângulo do eixo z"
 
-#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668
+#: ../src/display/canvas-axonomgrid.cpp:406 ../src/display/canvas-grid.cpp:669
 msgid "Grid line _color:"
 msgstr "_Cor da linha de grade:"
 
-#: ../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
+#: ../src/display/canvas-axonomgrid.cpp:406 ../src/display/canvas-grid.cpp:669
 msgid "Grid line color"
 msgstr "Cor da linha de grade"
 
-#: ../src/display/canvas-axonomgrid.cpp:404 ../src/display/canvas-grid.cpp:668
+#: ../src/display/canvas-axonomgrid.cpp:406 ../src/display/canvas-grid.cpp:669
 msgid "Color of grid lines"
 msgstr "Cor das linhas de grade"
 
-#: ../src/display/canvas-axonomgrid.cpp:409 ../src/display/canvas-grid.cpp:673
+#: ../src/display/canvas-axonomgrid.cpp:411 ../src/display/canvas-grid.cpp:674
 msgid "Ma_jor grid line color:"
 msgstr "Cor da linha de grade ma_ior:"
 
-#: ../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
+#: ../src/display/canvas-axonomgrid.cpp:411 ../src/display/canvas-grid.cpp:674
 msgid "Major grid line color"
 msgstr "Cor da linha de grade maior"
 
-#: ../src/display/canvas-axonomgrid.cpp:410 ../src/display/canvas-grid.cpp:674
+#: ../src/display/canvas-axonomgrid.cpp:412 ../src/display/canvas-grid.cpp:675
 msgid "Color of the major (highlighted) grid lines"
 msgstr "Cor da linha de grade maior (destacada)"
 
-#: ../src/display/canvas-axonomgrid.cpp:414 ../src/display/canvas-grid.cpp:678
+#: ../src/display/canvas-axonomgrid.cpp:416 ../src/display/canvas-grid.cpp:679
 msgid "_Major grid line every:"
 msgstr "_Linha de grade maior a cada:"
 
-#: ../src/display/canvas-axonomgrid.cpp:414 ../src/display/canvas-grid.cpp:678
+#: ../src/display/canvas-axonomgrid.cpp:416 ../src/display/canvas-grid.cpp:679
 msgid "lines"
 msgstr "linhas"
 
@@ -2388,35 +2395,34 @@ msgstr ""
 "Determina se a grade é exibida ou não. Os objetos podem se encaixar em "
 "grades invisíveis."
 
-#: ../src/display/canvas-grid.cpp:662
+#: ../src/display/canvas-grid.cpp:663
 msgid "Spacing _X:"
 msgstr "Espaçamento _X:"
 
-#: ../src/display/canvas-grid.cpp:662
-#: ../src/ui/dialog/inkscape-preferences.cpp:873
+#: ../src/display/canvas-grid.cpp:663
+#: ../src/ui/dialog/inkscape-preferences.cpp:902
 msgid "Distance between vertical grid lines"
 msgstr "Distância vertical entre linhas da grade"
 
-#: ../src/display/canvas-grid.cpp:664
-#: ../src/ui/dialog/inkscape-preferences.cpp:874
+#: ../src/display/canvas-grid.cpp:665
+#: ../src/ui/dialog/inkscape-preferences.cpp:903
 msgid "Distance between horizontal grid lines"
 msgstr "Distância horizontal entre linhas"
 
-#: ../src/display/canvas-grid.cpp:697
+#: ../src/display/canvas-grid.cpp:698
 msgid "_Show dots instead of lines"
 msgstr "_Mostrar pontos ao invés de linhas"
 
-#: ../src/display/canvas-grid.cpp:698
-#: ../src/ui/dialog/inkscape-preferences.cpp:883
+#: ../src/display/canvas-grid.cpp:699
 msgid "If set, displays dots at gridpoints instead of gridlines"
 msgstr "Mostrar pontos na grade ao invés de linhas"
 
-#: ../src/document.cpp:415
+#: ../src/document.cpp:416
 #, c-format
 msgid "New document %d"
 msgstr "Novo documento %d"
 
-#: ../src/document.cpp:447
+#: ../src/document.cpp:448
 #, c-format
 msgid "Memory document %d"
 msgstr "Documento de memória %d"
@@ -2427,42 +2433,51 @@ msgid "Unnamed document %d"
 msgstr "Documento sem nome %d"
 
 #. We hit green anchor, closing Green-Blue-Red
-#: ../src/draw-context.cpp:448
+#: ../src/draw-context.cpp:569
 msgid "Path is closed."
 msgstr "O caminho está fechado."
 
 #. We hit bot start and end of single curve, closing paths
-#: ../src/draw-context.cpp:463
+#: ../src/draw-context.cpp:584
 msgid "Closing path."
 msgstr "Fechando o caminho."
 
-#: ../src/draw-context.cpp:577
+#: ../src/draw-context.cpp:694
 msgid "Draw path"
 msgstr "Desenhar caminho"
 
+#: ../src/draw-context.cpp:851
+msgid "Creating single dot"
+msgstr "Criando ponto único"
+
+#: ../src/draw-context.cpp:852
+msgid "Create single dot"
+msgstr "Criar ponto único"
+
 #. 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
+#: ../src/dropper-context.cpp:288
 #, c-format
 msgid " alpha %.3g"
 msgstr " alfa %.3g"
 
 #. where the color is picked, to show in the statusbar
-#: ../src/dropper-context.cpp:294
+#: ../src/dropper-context.cpp:290
 #, c-format
 msgid ", averaged with radius %d"
 msgstr ", médio com raio %d"
 
-#: ../src/dropper-context.cpp:294
+#: ../src/dropper-context.cpp:290
+#, c-format
 msgid " under cursor"
 msgstr " sob cursor"
 
 #. message, to show in the statusbar
-#: ../src/dropper-context.cpp:296
+#: ../src/dropper-context.cpp:292
 msgid "<b>Release mouse</b> to set color."
 msgstr "<b>Libere o mouse</b> para ajustar a cor."
 
-#: ../src/dropper-context.cpp:296 ../src/tools-switch.cpp:229
+#: ../src/dropper-context.cpp:292 ../src/tools-switch.cpp:232
 msgid ""
 "<b>Click</b> to set fill, <b>Shift+click</b> to set stroke; <b>drag</b> to "
 "average color in area; with <b>Alt</b> to pick inverse color; <b>Ctrl+C</b> "
@@ -2473,47 +2488,45 @@ msgstr ""
 "média de uma área. Use<b>Ctrl+C</b> para copiar a cor sob o mouse para a "
 "área de transferência."
 
-#: ../src/dropper-context.cpp:329
+#: ../src/dropper-context.cpp:325
 msgid "Set picked color"
 msgstr "Ajustar a cor escolhida"
 
-#: ../src/dyna-draw-context.cpp:625
+#: ../src/dyna-draw-context.cpp:619
 msgid ""
 "<b>Guide path selected</b>; start drawing along the guide with <b>Ctrl</b>"
 msgstr ""
 "<b>Caminho guia selecionado</b>; desenhar ao longo do guia com <b>Ctrl</b>"
 
-#: ../src/dyna-draw-context.cpp:627
+#: ../src/dyna-draw-context.cpp:621
 msgid "<b>Select a guide path</b> to track with <b>Ctrl</b>"
 msgstr "<b>Selecione um caminho guia</b> para rastrear com <b>Ctrl</b>"
 
-#: ../src/dyna-draw-context.cpp:732
+#: ../src/dyna-draw-context.cpp:726
 msgid "Tracking: <b>connection to guide path lost!</b>"
 msgstr "Rastreando: <b>conexão ao caminho guia perdida!</b>"
 
-#: ../src/dyna-draw-context.cpp:732
+#: ../src/dyna-draw-context.cpp:726
 msgid "<b>Tracking</b> a guide path"
 msgstr "<b>Rastreando</b> um caminho guia"
 
-#: ../src/dyna-draw-context.cpp:735
+#: ../src/dyna-draw-context.cpp:729
 msgid "<b>Drawing</b> a calligraphic stroke"
 msgstr "<b>Traçando</b> uma linha caligráfica"
 
-#: ../src/dyna-draw-context.cpp:1016
+#: ../src/dyna-draw-context.cpp:1008
 msgid "Draw calligraphic stroke"
 msgstr "Desenhar linhas caligráficas"
 
-#: ../src/eraser-context.cpp:532
-#, fuzzy
+#: ../src/eraser-context.cpp:527
 msgid "<b>Drawing</b> an eraser stroke"
-msgstr "<b>Traçando</b> uma linha caligráfica"
+msgstr "<b>Traçando</b> o caminho da borracha"
 
-#: ../src/eraser-context.cpp:839
-#, fuzzy
+#: ../src/eraser-context.cpp:828
 msgid "Draw eraser stroke"
-msgstr "Desenhar linhas caligráficas"
+msgstr "Traçar linha da borracha"
 
-#: ../src/event-context.cpp:595
+#: ../src/event-context.cpp:608
 msgid "<b>Space+mouse drag</b> to pan canvas"
 msgstr "<b>Espaço + arrastar o mouse</b> para percorrer a área de desenho"
 
@@ -2522,11 +2535,11 @@ msgid "[Unchanged]"
 msgstr "[Inalterado]"
 
 #. 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:2247
 msgid "_Undo"
 msgstr "_Desfazer"
 
-#: ../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:2249
 msgid "_Redo"
 msgstr "_Refazer"
 
@@ -2656,9 +2669,9 @@ 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 ""
+msgstr "Atualmente não há ajuda disponível para esta extensão.   Por favor, veja no site do Inkscape ou pergunte em listas de discussão (http://inkscapeBrasil.org?topic=Comunidade#ListaDeDiscussao), caso alguma dúvida tenha permanecido."
 
-#: ../src/extension/implementation/script.cpp:1055
+#: ../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 "
@@ -2668,13 +2681,13 @@ msgstr ""
 "retornou nenhum erro, mas isso pode indicar que o resultado não será como o "
 "esperado."
 
-#: ../src/extension/init.cpp:282
+#: ../src/extension/init.cpp:291
 msgid "Null external module directory name.  Modules will not be loaded."
 msgstr ""
 "Nome de diretório externo do módulo inválido.  Os módulos não serão "
 "carregados."
 
-#: ../src/extension/init.cpp:296
+#: ../src/extension/init.cpp:305
 #: ../src/extension/internal/filter/filter-file.cpp:56
 #, c-format
 msgid ""
@@ -2691,23 +2704,27 @@ msgstr "Limiar Adaptativo:"
 #: ../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:135 ../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
+#: ../src/live_effects/lpe-bendpath.cpp:56
+#: ../src/live_effects/lpe-patternalongpath.cpp:63
+#: ../src/widgets/toolbox.cpp:2616 ../src/widgets/toolbox.cpp:3660
 msgid "Width"
 msgstr "Largura"
 
 #: ../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
+#: ../src/libgdl/gdl-dock-placeholder.c:177 ../src/widgets/toolbox.cpp:2633
 msgid "Height"
 msgstr "Altura:"
 
+#. initialise your parameters here:
 #: ../src/extension/internal/bitmap/adaptiveThreshold.cpp:42
-#: ../src/filter-enums.cpp:32
+#: ../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:48
 msgid "Offset"
 msgstr "Deslocamento"
 
@@ -2799,7 +2816,7 @@ msgstr "Desfoque"
 #: ../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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2256
 msgid "Radius"
 msgstr "Raio"
 
@@ -2909,7 +2926,6 @@ msgstr "Melhorar diferenças de intensidade no(s) bitmap(s) selecionado(s)."
 # O nome correto é Matriz de Convolução. "Matriz de Foco/Desfoque" é um nome ruim por que não representa tudo o que este filtro pode fazer. Operações de desfoque são um caso particular de todas as operações gráficas que podem ser feitas por meio da aplicação de uma matriz de convolução.
 #. TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-convolve.html
 #: ../src/extension/internal/bitmap/convolve.cpp:50
-#, fuzzy
 msgid "Convolve"
 msgstr "Matriz de Convolução"
 
@@ -2925,9 +2941,8 @@ msgid "Kernel Array"
 msgstr "Kernel"
 
 #: ../src/extension/internal/bitmap/convolve.cpp:59
-#, fuzzy
 msgid "Apply Convolve Effect"
-msgstr "Aplicar novo efeito"
+msgstr "Aplicar Efeito de Convolução"
 
 #: ../src/extension/internal/bitmap/cycleColormap.cpp:36
 msgid "Cycle Colormap"
@@ -3073,11 +3088,11 @@ msgid "Brightness"
 msgstr "Luminosidade"
 
 #: ../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: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:3375
+#: ../src/widgets/sp-color-scales.cpp:428 ../src/widgets/toolbox.cpp:3824
 #: ../share/extensions/color_randomize.inx.h:5
 msgid "Saturation"
 msgstr "Saturação"
@@ -3086,7 +3101,7 @@ msgstr "Saturação"
 #: ../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:3809
 #: ../share/extensions/color_randomize.inx.h:2
 msgid "Hue"
 msgstr "Matiz"
@@ -3174,12 +3189,12 @@ msgid "Shade"
 msgstr "Sombra"
 
 #: ../src/extension/internal/bitmap/shade.cpp:41
-#: ../src/ui/dialog/filter-effects-dialog.cpp:992
+#: ../src/ui/dialog/filter-effects-dialog.cpp:995
 msgid "Azimuth"
 msgstr "Azimute"
 
 #: ../src/extension/internal/bitmap/shade.cpp:42
-#: ../src/ui/dialog/filter-effects-dialog.cpp:993
+#: ../src/ui/dialog/filter-effects-dialog.cpp:996
 msgid "Elevation"
 msgstr "Elevação"
 
@@ -3266,142 +3281,173 @@ msgstr "Comprimento de onda"
 msgid "Alter selected bitmap(s) along sine wave."
 msgstr "Altera bitmap(s) selecionado(s) através de onda sinoidal."
 
-#: ../src/extension/internal/bluredge.cpp:132
+#: ../src/extension/internal/bluredge.cpp:133
 msgid "Inset/Outset Halo"
 msgstr "Halo Interno/Externo"
 
-#: ../src/extension/internal/bluredge.cpp:134
+#: ../src/extension/internal/bluredge.cpp:135
 msgid "Width in px of the halo"
 msgstr "Largura em px do halo"
 
-#: ../src/extension/internal/bluredge.cpp:135
+#: ../src/extension/internal/bluredge.cpp:136
 msgid "Number of steps"
 msgstr "Número de passos"
 
-#: ../src/extension/internal/bluredge.cpp:135
+#: ../src/extension/internal/bluredge.cpp:136
 msgid "Number of inset/outset copies of the object to make"
 msgstr "Número de cópias internas/externas do objeto geradas"
 
-#: ../src/extension/internal/bluredge.cpp:139
-#: ../share/extensions/interp.inx.h:3 ../share/extensions/motion.inx.h:3
+#: ../src/extension/internal/bluredge.cpp:140
+#: ../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
 msgid "Generate from Path"
 msgstr "Gerar do caminho"
 
 # Que é isso?? Alguem colocou "Saída DXF", comentários por favor!!! -- Frank
-#: ../src/extension/internal/cairo-pdf-out.cpp:239
+#: ../src/extension/internal/cairo-pdf-out.cpp:238
 msgid "Cairo PDF Output"
 msgstr "Saída Cairo PDF"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:241
+#: ../src/extension/internal/cairo-pdf-out.cpp:240
+#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:217
 msgid "Restrict to PDF version"
 msgstr "Restrito à versão do PDF"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:242
+#: ../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:244
-#: ../src/extension/internal/cairo-ps-out.cpp:230
-#: ../src/extension/internal/emf-win32-inout.cpp:2182
+#: ../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 "Converter textos em caminhos"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:245
-#: ../src/extension/internal/cairo-ps-out.cpp:231
+#: ../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 "Converter efeitos de desfoque em bitmaps"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:246
-#: ../src/extension/internal/cairo-ps-out.cpp:232
+#: ../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 "Resolução preferida (DPI) de bitmaps"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:247
-#, fuzzy
+#: ../src/extension/internal/cairo-pdf-out.cpp:246
+#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:223
 msgid "Export drawing, not page"
-msgstr "Exportação em progresso"
+msgstr "Exportando desenho, não página"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:248
-#, fuzzy
+#: ../src/extension/internal/cairo-pdf-out.cpp:247
+#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:224
 msgid "Export canvas"
-msgstr "Editar na área de desenho"
+msgstr "Exportar página"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:249
+#: ../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 ""
+msgstr "Limitar a exportação ao objeto com o ID"
 
 # "Diagrama Dia (*.dia)"??? pq colocaram isso?? -- Frank
-#: ../src/extension/internal/cairo-pdf-out.cpp:253
+#: ../src/extension/internal/cairo-pdf-out.cpp:252
 msgid "PDF via Cairo (*.pdf)"
 msgstr "PDF via Cairo (*.pdf)"
 
-#: ../src/extension/internal/cairo-pdf-out.cpp:254
+#: ../src/extension/internal/cairo-pdf-out.cpp:253
 msgid "PDF File"
 msgstr "Arquivo PDF"
 
-# Que é isso?? Alguem colocou "Saída DXF", comentários por favor!!! -- Frank
-#: ../src/extension/internal/cairo-ps-out.cpp:222
-msgid "Cairo PS Output"
-msgstr "Saída Cairo PS"
+#: ../src/extension/internal/cairo-ps-out.cpp:339
+#: ../share/extensions/ps_input.inx.h:1
+msgid "PostScript"
+msgstr "PostScript"
 
-#: ../src/extension/internal/cairo-ps-out.cpp:224
+#: ../src/extension/internal/cairo-ps-out.cpp:341
+#: ../src/extension/internal/cairo-ps-out.cpp:375
 msgid "Restrict to PS level"
 msgstr "Restrinja o nível do PS"
 
-#: ../src/extension/internal/cairo-ps-out.cpp:225
+#: ../src/extension/internal/cairo-ps-out.cpp:342
+#: ../src/extension/internal/cairo-ps-out.cpp:376
 msgid "PostScript level 3"
-msgstr "Postscript nível 3"
+msgstr "PostScript nível 3"
 
-#: ../src/extension/internal/cairo-ps-out.cpp:227
+#: ../src/extension/internal/cairo-ps-out.cpp:344
+#: ../src/extension/internal/cairo-ps-out.cpp:378
 msgid "PostScript level 2"
-msgstr "Postscript nível 2"
+msgstr "PostScript nível 2"
 
-#: ../src/extension/internal/cairo-ps-out.cpp:236
-msgid "PostScript via Cairo (*.ps)"
-msgstr "PostScript via Cairo (*.ps)"
+#: ../src/extension/internal/cairo-ps-out.cpp:353
+#: ../share/extensions/ps_input.inx.h:2
+msgid "PostScript (*.ps)"
+msgstr "PostScript (*.ps)"
 
-#: ../src/extension/internal/cairo-ps-out.cpp:237
+#: ../src/extension/internal/cairo-ps-out.cpp:354
 #: ../src/extension/internal/ps-out.cpp:90
 msgid "PostScript File"
-msgstr "Arquivo Postscript"
+msgstr "Arquivo PostScript"
+
+#: ../src/extension/internal/cairo-ps-out.cpp:373
+#: ../share/extensions/eps_input.inx.h:2
+msgid "Encapsulated PostScript"
+msgstr "PostScript Encapsulado"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2152
+#: ../src/extension/internal/cairo-ps-out.cpp:387
+#: ../share/extensions/eps_input.inx.h:3
+msgid "Encapsulated PostScript (*.eps)"
+msgstr "PostScript Encapsulado (*.eps)"
+
+#: ../src/extension/internal/cairo-ps-out.cpp:388
+msgid "Encapsulated PostScript File"
+msgstr "Arquivo PostScript Encapsulado"
+
+#: ../src/extension/internal/cairo-renderer-pdf-out.cpp:221
+msgid "Convert filter effects to bitmaps"
+msgstr "Converter efeitos de filtro em bitmaps"
+
+#: ../src/extension/internal/emf-win32-inout.cpp:2405
 msgid "EMF Input"
 msgstr "Entrada EMF"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2157
+#: ../src/extension/internal/emf-win32-inout.cpp:2410
 msgid "Enhanced Metafiles (*.emf)"
 msgstr "Enhanced Metafiles (*.emf)"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2158
+#: ../src/extension/internal/emf-win32-inout.cpp:2411
 msgid "Enhanced Metafiles"
 msgstr "Enhanced Metafiles"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2166
+#: ../src/extension/internal/emf-win32-inout.cpp:2419
 msgid "WMF Input"
 msgstr "Entrada WMF"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2171
+#: ../src/extension/internal/emf-win32-inout.cpp:2424
 msgid "Windows Metafiles (*.wmf)"
 msgstr "Metarquivo do Windows (*.wmf)"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2172
+#: ../src/extension/internal/emf-win32-inout.cpp:2425
 msgid "Windows Metafiles"
 msgstr "Metarquivos do Windows"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2180
+#: ../src/extension/internal/emf-win32-inout.cpp:2433
 msgid "EMF Output"
 msgstr "Saída EMF"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2186
+#: ../src/extension/internal/emf-win32-inout.cpp:2439
 msgid "Enhanced Metafile (*.emf)"
 msgstr "Meta-arquivo otimizado (*.emf)"
 
-#: ../src/extension/internal/emf-win32-inout.cpp:2187
+#: ../src/extension/internal/emf-win32-inout.cpp:2440
 msgid "Enhanced Metafile"
 msgstr "Meta-arquivo otimizad"
 
@@ -3419,7 +3465,6 @@ msgid "Embed fonts (Type 1 only)"
 msgstr "Encaixar fontes (somente Type 1)"
 
 #: ../src/extension/internal/eps-out.cpp:97
-#: ../share/extensions/eps_input.inx.h:3
 msgid "Encapsulated Postscript (*.eps)"
 msgstr "Postscript Encapsulado (*.eps)"
 
@@ -3429,14 +3474,13 @@ msgstr "Arquivo Postscript Encapsulado"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/apparition.h:24
-#, fuzzy
 msgid "Apparition"
-msgstr "Saturação"
+msgstr "Aparição"
 
 #. 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 "Eu não estou seguro sobre o significado desta palavra"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/bloom.h:24
@@ -3447,35 +3491,32 @@ msgstr "Ampliação"
 #. 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 ""
+msgstr "Não tenho certeza, ninguém me falou sobre essas coisas"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/clouds.h:24
-#, fuzzy
 msgid "Clouds"
-msgstr "Fechar"
+msgstr "Nuvens"
 
 #. 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 "Ajustar descrição do objeto"
+msgstr "Sim, mais descrições"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/crystal.h:24
-#, fuzzy
 msgid "Crystal"
-msgstr "Escala de cinzas"
+msgstr "Cristal"
 
 #. 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 "Artista, insira os dados aqui"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/cutout.h:24
 #, fuzzy
-msgid "Coutout"
+msgid "Cutout"
 msgstr "recuar"
 
 #. Name in the menus, should have a N_() around it for translation
@@ -3483,42 +3524,44 @@ msgstr "recuar"
 #: ../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 "Texto vertical"
+msgstr "Texto do artista"
 
 #: ../src/extension/internal/filter/drop-shadow.h:35
-#, fuzzy
 msgid "Drop Shadow"
-msgstr "Soltar SVG"
+msgstr "Aplicar Sombra"
 
 #: ../src/extension/internal/filter/drop-shadow.h:37
-#, fuzzy
-msgid "Amount of Blur"
-msgstr "Quantidade de torção"
+msgid "Blur radius, px"
+msgstr "Raio de desfoque, px"
 
 #: ../src/extension/internal/filter/drop-shadow.h:38
-#: ../src/extension/internal/grid.cpp:197
-msgid "Horizontal Offset"
-msgstr "Desvio Horizontal"
+#: ../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 "Opacidade, %"
 
 #: ../src/extension/internal/filter/drop-shadow.h:39
-#: ../src/extension/internal/grid.cpp:198
-msgid "Vertical Offset"
+#, fuzzy
+msgid "Horizontal offset, px"
+msgstr "Desvio Horizontal"
+
+#: ../src/extension/internal/filter/drop-shadow.h:40
+#, fuzzy
+msgid "Vertical offset, px"
 msgstr "Desvio Vertical"
 
-#: ../src/extension/internal/filter/drop-shadow.h:43
-#: ../src/extension/internal/filter/filter.cpp:196
+#: ../src/extension/internal/filter/drop-shadow.h:44
+#: ../src/extension/internal/filter/filter.cpp:201
 #: ../src/extension/internal/filter/filter-file.cpp:146
 #: ../src/extension/internal/filter/snow.h:38
-#, fuzzy
 msgid "Filter"
-msgstr "_Filtro"
+msgstr "Filtro"
 
-#: ../src/extension/internal/filter/drop-shadow.h:45
-#, fuzzy
-msgid "I hate text"
-msgstr "Colar texto"
+#: ../src/extension/internal/filter/drop-shadow.h:46
+msgid "Black, blurred drop shadow"
+msgstr "Aplica sombra preta e desfocada"
 
 #. Name in the menus, should have a N_() around it for translation
 #: ../src/extension/internal/filter/emboss.h:22
@@ -3538,25 +3581,21 @@ msgstr "Arredondado:"
 
 #: ../src/extension/internal/filter/filter-file.cpp:33
 msgid "Personal"
-msgstr ""
+msgstr "Pessoal"
 
 #: ../src/extension/internal/filter/filter-file.cpp:44
-#, fuzzy
 msgid "Null external module directory name.  Filters will not be loaded."
-msgstr ""
-"Nome de diretório externo do módulo inválido.  Os módulos não serão "
-"carregados."
+msgstr "Nome de diretório de módulo externo inválido.  Os filtros não serão carregados."
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/fire.h:24
-#, fuzzy
 msgid "Fire"
-msgstr "Arquivo"
+msgstr "Fogo"
 
 #. 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 "Artista em fogo"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/frost.h:24
@@ -3566,14 +3605,13 @@ msgstr "Fonte"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/ink-bleed.h:24
-#, fuzzy
 msgid "InkBleed"
-msgstr "Mistura"
+msgstr "Mistura de tinta"
 
 #. 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 "Texto do Artista"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/jelly-bean.h:24
@@ -3780,6 +3818,14 @@ msgstr "Espaçamento Horizontal"
 msgid "Vertical Spacing"
 msgstr "Espaçamento Vertical"
 
+#: ../src/extension/internal/grid.cpp:197
+msgid "Horizontal Offset"
+msgstr "Desvio Horizontal"
+
+#: ../src/extension/internal/grid.cpp:198
+msgid "Vertical Offset"
+msgstr "Desvio Vertical"
+
 #: ../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
@@ -3797,50 +3843,64 @@ msgstr "Renderizar"
 msgid "Draw a path which is a grid"
 msgstr "Desenhar um caminho a uma grade"
 
-#: ../src/extension/internal/latex-pstricks.cpp:347
+#: ../src/extension/internal/javafx-out.cpp:922
+#, fuzzy
+msgid "JavaFX Output"
+msgstr "Saída LaTeX"
+
+#: ../src/extension/internal/javafx-out.cpp:927
+msgid "JavaFX (*.fx)"
+msgstr ""
+
+#: ../src/extension/internal/javafx-out.cpp:928
+#, fuzzy
+msgid "JavaFX Raytracer File"
+msgstr "Arquivo PovRay Raytracer"
+
+#: ../src/extension/internal/latex-pstricks.cpp:345
 msgid "LaTeX Print"
 msgstr "Impressão LaTeX"
 
-#: ../src/extension/internal/latex-pstricks-out.cpp:106
+#: ../src/extension/internal/latex-pstricks-out.cpp:105
 msgid "LaTeX Output"
 msgstr "Saída LaTeX"
 
-#: ../src/extension/internal/latex-pstricks-out.cpp:111
+#: ../src/extension/internal/latex-pstricks-out.cpp:110
 msgid "LaTeX With PSTricks macros (*.tex)"
 msgstr "LaTeX com macros PSTricks (*.tex)"
 
-#: ../src/extension/internal/latex-pstricks-out.cpp:112
+#: ../src/extension/internal/latex-pstricks-out.cpp:111
 msgid "LaTeX PSTricks File"
 msgstr "Arquivo LaTeX PSTricks"
 
-#: ../src/extension/internal/odf.cpp:2424
+#: ../src/extension/internal/odf.cpp:2415
 msgid "OpenDocument Drawing Output"
 msgstr "Saída para OpenDocument Drawing"
 
-#: ../src/extension/internal/odf.cpp:2429
+#: ../src/extension/internal/odf.cpp:2420
 msgid "OpenDocument drawing (*.odg)"
 msgstr "OpenDocument drawing (*.odg)"
 
-#: ../src/extension/internal/odf.cpp:2430
+#: ../src/extension/internal/odf.cpp:2421
 msgid "OpenDocument drawing file"
 msgstr "Arquivo OpenDocument drawing"
 
-#: ../src/extension/internal/pdf-cairo.cpp:127
-#: ../src/extension/internal/ps.cpp:147
+#: ../src/extension/internal/pdf-cairo.cpp:126
+#: ../src/extension/internal/ps.cpp:151
 msgid "Print Destination"
 msgstr "Destino da impressão"
 
 #. Print properties frame
-#: ../src/extension/internal/pdf-cairo.cpp:142
-#: ../src/extension/internal/ps.cpp:162
+#: ../src/extension/internal/pdf-cairo.cpp:141
+#: ../src/extension/internal/ps.cpp:166
 msgid "Print properties"
 msgstr "Propriedades da Impressão"
 
-#: ../src/extension/internal/pdf-cairo.cpp:149
+#: ../src/extension/internal/pdf-cairo.cpp:148
 msgid "Print using PDF operators"
 msgstr "Imprimir usando operadores PostScript"
 
-#: ../src/extension/internal/pdf-cairo.cpp:151
+#: ../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."
@@ -3849,13 +3909,13 @@ msgstr ""
 "tamanho de arquivo e pode arbitrariamente ser escalada, mas os padrões de "
 "preenchimento serão perdidas. "
 
-#: ../src/extension/internal/pdf-cairo.cpp:156
-#: ../src/extension/internal/ps.cpp:176
+#: ../src/extension/internal/pdf-cairo.cpp:155
+#: ../src/extension/internal/ps.cpp:180
 msgid "Print as bitmap"
 msgstr "Imprimir como bitmap"
 
-#: ../src/extension/internal/pdf-cairo.cpp:158
-#: ../src/extension/internal/ps.cpp:178
+#: ../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 "
@@ -3865,24 +3925,24 @@ msgstr ""
 "e não pode ser ampliada sem perda de qualidade. Porém todos os objetos são "
 "gerados exatamente como mostrado."
 
-#: ../src/extension/internal/pdf-cairo.cpp:172
-#: ../src/extension/internal/ps.cpp:192
+#: ../src/extension/internal/pdf-cairo.cpp:171
+#: ../src/extension/internal/ps.cpp:196
 msgid "Preferred resolution (dots per inch) of bitmap"
 msgstr "Resolução preferida para a figura (pontos por polegada)"
 
-#: ../src/extension/internal/pdf-cairo.cpp:186
-#: ../src/extension/internal/ps.cpp:206
+#: ../src/extension/internal/pdf-cairo.cpp:185
+#: ../src/extension/internal/ps.cpp:210
 msgid "Resolution:"
 msgstr "Resolução:"
 
 #. Print destination frame
-#: ../src/extension/internal/pdf-cairo.cpp:190
-#: ../src/extension/internal/ps.cpp:213
+#: ../src/extension/internal/pdf-cairo.cpp:189
+#: ../src/extension/internal/ps.cpp:217
 msgid "Print destination"
 msgstr "Destino da impressão"
 
-#: ../src/extension/internal/pdf-cairo.cpp:196
-#: ../src/extension/internal/ps.cpp:219
+#: ../src/extension/internal/pdf-cairo.cpp:195
+#: ../src/extension/internal/ps.cpp:223
 msgid ""
 "Printer name (as given by lpstat -p);\n"
 "leave empty to use the system default printer.\n"
@@ -3894,7 +3954,7 @@ msgstr ""
 "Use '> nomedearquivo.ext' para imprimir para um arquivo.\n"
 "Use '| programa argumentos...' para direcionar para um programa."
 
-#: ../src/extension/internal/pdf-cairo.cpp:1060
+#: ../src/extension/internal/pdf-cairo.cpp:1027
 msgid "PDF Print"
 msgstr "Impressão PDF"
 
@@ -4015,27 +4075,27 @@ msgstr "Adobe Illustrator 9.0 e superior (*.ai)"
 msgid "Open files saved in Adobe Illustrator 9.0 and newer versions"
 msgstr "Abrir arquivos salvos com o Adobe Illustrator 9.0 e versões mais novas"
 
-#: ../src/extension/internal/pov-out.cpp:666
+#: ../src/extension/internal/pov-out.cpp:676
 msgid "PovRay Output"
 msgstr "Saída PovRay"
 
-#: ../src/extension/internal/pov-out.cpp:671
+#: ../src/extension/internal/pov-out.cpp:681
 msgid "PovRay (*.pov) (export splines)"
 msgstr "PovRay (*.pov) (exportar splines)"
 
-#: ../src/extension/internal/pov-out.cpp:672
+#: ../src/extension/internal/pov-out.cpp:682
 msgid "PovRay Raytracer File"
 msgstr "Arquivo PovRay Raytracer"
 
-#: ../src/extension/internal/ps.cpp:147
+#: ../src/extension/internal/ps.cpp:151
 msgid "Print Configuration"
 msgstr "Configurações de Impressão"
 
-#: ../src/extension/internal/ps.cpp:169
+#: ../src/extension/internal/ps.cpp:173
 msgid "Print using PostScript operators"
 msgstr "Imprimir usando operadores PostScript"
 
-#: ../src/extension/internal/ps.cpp:171
+#: ../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 "
@@ -4045,7 +4105,7 @@ msgstr ""
 "menor em tamanho de arquivo e pode ser ampliada indiscriminadamente, porém a "
 "transparência alfa e os padrões de preenchimento serão perdidos."
 
-#: ../src/extension/internal/ps.cpp:1753
+#: ../src/extension/internal/ps.cpp:1768
 msgid "Postscript Print"
 msgstr "Impressão Postscript"
 
@@ -4054,8 +4114,9 @@ msgid "Postscript Output"
 msgstr "Saída Postscript"
 
 #: ../src/extension/internal/ps-out.cpp:89
-msgid "PostScript (*.ps)"
-msgstr "PostScript (*.ps)"
+#, fuzzy
+msgid "PostScript (old exporter via print) (*.ps)"
+msgstr "PostScript via Cairo (*.ps)"
 
 #: ../src/extension/internal/svg.cpp:55
 msgid "SVG Input"
@@ -4082,7 +4143,6 @@ msgid "SVG format with Inkscape extensions"
 msgstr "Formato de SVG com extensões de Inkscape"
 
 #: ../src/extension/internal/svg.cpp:83
-#: ../src/ui/dialog/inkscape-preferences.cpp:942
 msgid "SVG Output"
 msgstr "Saída SVG"
 
@@ -4144,12 +4204,14 @@ msgstr "Gráficos WordPerfect (*.wpg)"
 msgid "Vector graphics format used by Corel WordPerfect"
 msgstr "Formato de gráficos vetoriais usado pelo Corel WordPerfect"
 
-#: ../src/extension/prefdialog.cpp:237
-msgid "Live Preview"
+#: ../src/extension/prefdialog.cpp:236
+#, fuzzy
+msgid "Live preview"
 msgstr "Pré-Visualizar"
 
-#: ../src/extension/prefdialog.cpp:237
-msgid "Controls whether the effect settings are rendered live on canvas"
+#: ../src/extension/prefdialog.cpp:236
+#, fuzzy
+msgid "Is the effect previewed live on canvas?"
 msgstr ""
 "Controla se as opções de efeito são processadas imediatamente na área de "
 "desenho"
@@ -4166,53 +4228,53 @@ msgstr "Detecção de formato falhou. O arquivo será aberto como SVG."
 #. 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
+#: ../src/file.cpp:142
 msgid "default.svg"
 msgstr "default.pt_BR.svg"
 
-#: ../src/file.cpp:225 ../src/file.cpp:993
+#: ../src/file.cpp:228 ../src/file.cpp:1007
 #, c-format
 msgid "Failed to load the requested file %s"
 msgstr "Falha ao carregar o arquivo %s"
 
-#: ../src/file.cpp:250
+#: ../src/file.cpp:253
 msgid "Document not saved yet.  Cannot revert."
 msgstr "Desenho não foi salvo ainda. Impossível reverter."
 
-#: ../src/file.cpp:256
+#: ../src/file.cpp:259
 #, c-format
 msgid "Changes will be lost!  Are you sure you want to reload document %s?"
 msgstr ""
 "As mudanças serão perdidas! Tem certeza que deseja recarregar o desenho %s?"
 
-#: ../src/file.cpp:285
+#: ../src/file.cpp:288
 msgid "Document reverted."
 msgstr "Desenho revertido."
 
-#: ../src/file.cpp:287
+#: ../src/file.cpp:290
 msgid "Document not reverted."
 msgstr "Desenho não foi revertido."
 
-#: ../src/file.cpp:437
+#: ../src/file.cpp:440
 msgid "Select file to open"
 msgstr "Selecionar um arquivo para abrir"
 
-#: ../src/file.cpp:524
+#: ../src/file.cpp:527
 msgid "Vacuum &lt;defs&gt;"
 msgstr "Limpar pré-definições obsoletas"
 
-#: ../src/file.cpp:529
+#: ../src/file.cpp:532
 #, c-format
 msgid "Removed <b>%i</b> unused definition in &lt;defs&gt;."
 msgid_plural "Removed <b>%i</b> unused definitions in &lt;defs&gt;."
 msgstr[0] "<b>%i</b> definição não usada em &lt;defs&gt; removida."
 msgstr[1] "<b>%i</b> definições não usadas em &lt;defs&gt; removidas."
 
-#: ../src/file.cpp:534
+#: ../src/file.cpp:537
 msgid "No unused definitions in &lt;defs&gt;."
 msgstr "Sem definições indefinidas em &lt;defs&gt;."
 
-#: ../src/file.cpp:563
+#: ../src/file.cpp:566
 #, c-format
 msgid ""
 "No Inkscape extension found to save document (%s).  This may have been "
@@ -4221,67 +4283,68 @@ msgstr ""
 "Nenhum extensão do Inkscape foi encontrada para salvar o desenho (%s). Isto "
 "deve ter sido causado por uma extensão de arquivo desconhecida."
 
-#: ../src/file.cpp:564 ../src/file.cpp:572
+#: ../src/file.cpp:567 ../src/file.cpp:575
 msgid "Document not saved."
 msgstr "Desenho não salvo."
 
-#: ../src/file.cpp:571
+#: ../src/file.cpp:574
 #, c-format
 msgid "File %s could not be saved."
 msgstr "O arquivo %s não pode ser salvo."
 
-#: ../src/file.cpp:582
+#: ../src/file.cpp:585
 msgid "Document saved."
 msgstr "Desenho salvo."
 
-#: ../src/file.cpp:721 ../src/file.cpp:1118 ../src/file.cpp:1235
+#: ../src/file.cpp:726 ../src/file.cpp:1134 ../src/file.cpp:1251
 #, c-format
 msgid "drawing%s"
 msgstr "desenho%s"
 
-#: ../src/file.cpp:727
+#: ../src/file.cpp:732
 #, c-format
 msgid "drawing-%d%s"
 msgstr "desenho-%d%s"
 
-#: ../src/file.cpp:746
+#: ../src/file.cpp:751
 msgid "Select file to save a copy to"
 msgstr "Selecionar o arquivo para salvar uma cópia"
 
-#: ../src/file.cpp:748
+#: ../src/file.cpp:753
 msgid "Select file to save to"
 msgstr "Selecionar um arquivo para salvar"
 
-#: ../src/file.cpp:819
+#: ../src/file.cpp:832
 msgid "No changes need to be saved."
 msgstr "Nenhuma mudança que precise ser salva."
 
-#: ../src/file.cpp:836
+#: ../src/file.cpp:849
 msgid "Saving document..."
 msgstr "Salvando o desenho..."
 
-#: ../src/file.cpp:990
+#: ../src/file.cpp:1004
 msgid "Import"
 msgstr "Importar"
 
-#: ../src/file.cpp:1022
+#: ../src/file.cpp:1036
 msgid "Select file to import"
 msgstr "Selecione o arquivo para importar"
 
-#: ../src/file.cpp:1140 ../src/file.cpp:1250
+#: ../src/file.cpp:1156 ../src/file.cpp:1266
 msgid "Select file to export to"
 msgstr "Selecione o arquivo para exportar"
 
-#: ../src/file.cpp:1277
+#: ../src/file.cpp:1293
+#, c-format
 msgid "Error saving a temporary copy"
 msgstr "Erro ao salvar uma cópia temporária"
 
-#: ../src/file.cpp:1296
+#: ../src/file.cpp:1313
 msgid "Open Clip Art Login"
 msgstr "Login do Open Clip Art"
 
-#: ../src/file.cpp:1317
-#, fuzzy
+#: ../src/file.cpp:1334
+#, 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 "
@@ -4291,11 +4354,11 @@ msgstr ""
 "a senha estão corretos. Verifique também se o servidor possui suporte a "
 "webdav e se você não esqueceu de escolher uma licença."
 
-#: ../src/file.cpp:1338
+#: ../src/file.cpp:1355
 msgid "Document exported..."
 msgstr "Desenho exportado..."
 
-#: ../src/file.cpp:1366 ../src/verbs.cpp:2182
+#: ../src/file.cpp:1383 ../src/verbs.cpp:2236
 msgid "Import From Open Clip Art Library"
 msgstr "Importar de Open Clip Art Library"
 
@@ -4420,7 +4483,7 @@ msgid "Luminance to Alpha"
 msgstr "Luminância para Alfa"
 
 #. File
-#: ../src/filter-enums.cpp:71 ../src/verbs.cpp:2159
+#: ../src/filter-enums.cpp:71 ../src/verbs.cpp:2213
 msgid "Default"
 msgstr "Padrão"
 
@@ -4468,7 +4531,7 @@ msgstr "Linear"
 msgid "Gamma"
 msgstr "Gama"
 
-#: ../src/filter-enums.cpp:93 ../src/selection-chemistry.cpp:260
+#: ../src/filter-enums.cpp:93 ../src/selection-chemistry.cpp:314
 #: ../src/widgets/gradient-selector.cpp:134
 msgid "Duplicate"
 msgstr "Duplicar"
@@ -4532,16 +4595,16 @@ msgstr "Cores Visíveis"
 
 #: ../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:3839
 #: ../share/extensions/color_randomize.inx.h:3
 msgid "Lightness"
 msgstr "Brilho"
 
-#: ../src/flood-context.cpp:289 ../src/ui/dialog/inkscape-preferences.cpp:968
+#: ../src/flood-context.cpp:289 ../src/ui/dialog/inkscape-preferences.cpp:971
 msgid "Small"
 msgstr "Pequeno"
 
-#: ../src/flood-context.cpp:290 ../src/ui/dialog/inkscape-preferences.cpp:968
+#: ../src/flood-context.cpp:290 ../src/ui/dialog/inkscape-preferences.cpp:971
 msgid "Medium"
 msgstr "Médio"
 
@@ -4570,11 +4633,11 @@ msgid_plural "Area filled, path with <b>%d</b> nodes created."
 msgstr[0] "Área preenchida, caminho com <b>%d</b> nó criado."
 msgstr[1] "Área preenchida, caminho com <b>%d</b> nós criados."
 
-#: ../src/flood-context.cpp:807 ../src/flood-context.cpp:1121
+#: ../src/flood-context.cpp:807 ../src/flood-context.cpp:1120
 msgid "<b>Area is not bounded</b>, cannot fill."
 msgstr "<b>A área não é fechada</b>, impossível preencher."
 
-#: ../src/flood-context.cpp:1126
+#: ../src/flood-context.cpp:1125
 msgid ""
 "<b>Only the visible part of the bounded area was filled.</b> If you want to "
 "fill all of the area, undo, zoom out, and fill again."
@@ -4582,15 +4645,15 @@ msgstr ""
 "<b>Apenas a parte visível da área fechada foi preenchida.</b> Para preencher "
 "toda a área, desfazer, reduzir o zoom e preencher novamente."
 
-#: ../src/flood-context.cpp:1144 ../src/flood-context.cpp:1304
+#: ../src/flood-context.cpp:1143 ../src/flood-context.cpp:1303
 msgid "Fill bounded area"
 msgstr "Preencher área fechada"
 
-#: ../src/flood-context.cpp:1164
+#: ../src/flood-context.cpp:1163
 msgid "Set style on object"
 msgstr "Definir estilo do objeto"
 
-#: ../src/flood-context.cpp:1223
+#: ../src/flood-context.cpp:1222
 msgid "<b>Draw over</b> areas to add to fill, hold <b>Alt</b> for touch fill"
 msgstr ""
 "<b>Desenhe sobre</b> as áreas para adicionar preenchimento, segure <b>Alt</"
@@ -4687,7 +4750,7 @@ msgstr[1] ""
 "<b>Nenhuma</b> alça de degradê selecionada de %d em %d objetos selecionados"
 
 #: ../src/gradient-context.cpp:385 ../src/gradient-context.cpp:478
-#: ../src/widgets/gradient-vector.cpp:735
+#: ../src/widgets/gradient-vector.cpp:738
 msgid "Add gradient stop"
 msgstr "Adicionar parada de degradê"
 
@@ -4735,7 +4798,7 @@ msgstr "Mesclar alças do degradê"
 msgid "Move gradient handle"
 msgstr "Mover alça do degradê"
 
-#: ../src/gradient-drag.cpp:948 ../src/widgets/gradient-vector.cpp:767
+#: ../src/gradient-drag.cpp:948 ../src/widgets/gradient-vector.cpp:770
 msgid "Delete gradient stop"
 msgstr "Apagar parada do degradê"
 
@@ -4763,6 +4826,7 @@ msgstr ""
 "a partir de seu centro."
 
 #: ../src/gradient-drag.cpp:1128
+#, c-format
 msgid ""
 "Radial gradient <b>center</b> and <b>focus</b>; drag with <b>Shift</b> to "
 "separate focus"
@@ -4797,14 +4861,14 @@ msgstr "Mover parada(s) central(is) do degradê"
 msgid "Delete gradient stop(s)"
 msgstr "Apagar parada(s) do degradê"
 
-#: ../src/helper/units.cpp:37
+#: ../src/helper/units.cpp:37 ../src/live_effects/lpe-path_length.cpp:27
 msgid "Unit"
 msgstr "Unidade"
 
 #. 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
+#: ../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
 msgid "Units"
 msgstr "Unidades"
 
@@ -4844,9 +4908,9 @@ msgstr "Pc"
 msgid "Pixel"
 msgstr "Pixel"
 
-#: ../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/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"
@@ -4864,7 +4928,7 @@ msgstr "Px"
 msgid "Percent"
 msgstr "Percentual"
 
-#: ../src/helper/units.cpp:42 ../src/ui/dialog/inkscape-preferences.cpp:218
+#: ../src/helper/units.cpp:42 ../src/ui/dialog/inkscape-preferences.cpp:226
 msgid "%"
 msgstr "%"
 
@@ -4960,34 +5024,34 @@ msgstr "ex"
 msgid "Ex squares"
 msgstr "Quadras Ex"
 
-#: ../src/inkscape.cpp:337
+#: ../src/inkscape.cpp:328
 #, fuzzy
 msgid "Autosaving documents..."
 msgstr "Salvando o desenho..."
 
-#: ../src/inkscape.cpp:405
+#: ../src/inkscape.cpp:399
 msgid "Autosave failed! Could not find inkscape extension to save document."
 msgstr ""
 
-#: ../src/inkscape.cpp:408 ../src/inkscape.cpp:415
+#: ../src/inkscape.cpp:402 ../src/inkscape.cpp:409
 #, fuzzy, c-format
 msgid "Autosave failed! File %s could not be saved."
 msgstr "O arquivo %s não pode ser salvo."
 
-#: ../src/inkscape.cpp:430
+#: ../src/inkscape.cpp:424
 msgid "Autosave complete."
 msgstr ""
 
-#: ../src/inkscape.cpp:653
+#: ../src/inkscape.cpp:646
 msgid "Untitled document"
 msgstr "Desenho sem título"
 
 #. Show nice dialog box
-#: ../src/inkscape.cpp:682
+#: ../src/inkscape.cpp:675
 msgid "Inkscape encountered an internal error and will close now.\n"
 msgstr "O Inkscape encontrou um erro interno e será fechado agora.\n"
 
-#: ../src/inkscape.cpp:683
+#: ../src/inkscape.cpp:676
 msgid ""
 "Automatic backups of unsaved documents were done to the following "
 "locations:\n"
@@ -4995,170 +5059,89 @@ msgstr ""
 "Cópias de segurança de desenhos não salvos foram feitas para os seguintes "
 "lugares:\n"
 
-#: ../src/inkscape.cpp:684
+#: ../src/inkscape.cpp:677
 msgid "Automatic backup of the following documents failed:\n"
 msgstr "A cópia de segurança automática dos seguintes desenhos falhou:\n"
 
-#: ../src/inkscape.cpp:829
-#, c-format
-msgid ""
-"Cannot create directory %s.\n"
-"%s"
-msgstr ""
-"Não foi possível criar a pasta %s.\n"
-"%s"
-
-#: ../src/inkscape.cpp:830
-#, c-format
-msgid ""
-"%s is not a valid directory.\n"
-"%s"
-msgstr ""
-"%s não é uma pasta válida.\n"
-"%s"
+#. 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 "Barra de Comandos"
 
-#: ../src/inkscape.cpp:831
-#, c-format
-msgid ""
-"Cannot create file %s.\n"
-"%s"
-msgstr ""
-"Não foi possível criar o arquivo %s.\n"
-"%s"
+#: ../src/interface.cpp:842
+msgid "Show or hide the Commands bar (under the menu)"
+msgstr "Mostrar ou esconder a Barra de Comandos (sob o menu)"
 
-#: ../src/inkscape.cpp:832
-#, c-format
-msgid ""
-"Cannot write file %s.\n"
-"%s"
-msgstr ""
-"Não foi possível modificar o arquivo %s.\n"
-"%s"
-
-#: ../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 ""
-"Embora o Inkscape funcionará, ele usará as configurações padrão,\n"
-"e quaisquer mudanças feitas nelas não serão salvas."
-
-#: ../src/inkscape.cpp:903 ../src/preferences.cpp:56
-#, c-format
-msgid ""
-"%s is not a regular file.\n"
-"%s"
-msgstr ""
-"%s não é um arquivo comum.\n"
-"%s"
-
-#: ../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 não é um arquvio XML válido, ou\n"
-"você não tem permissões de leitura nele.\n"
-"%s"
-
-#: ../src/inkscape.cpp:906
-#, c-format
-msgid ""
-"%s is not a valid menus file.\n"
-"%s"
-msgstr ""
-"%s não é um arquivo de menus válido.\n"
-"%s"
-
-#: ../src/inkscape.cpp:907
-msgid ""
-"Inkscape will run with default menus.\n"
-"New menus will not be saved."
-msgstr ""
-"O Inkscape funcionará com a configuração de menus padrão.\n"
-"Novas configurações de menus não serão salvas."
-
-#. 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 "Barra de Comandos"
-
-#: ../src/interface.cpp:838
-msgid "Show or hide the Commands bar (under the menu)"
-msgstr "Mostrar ou esconder a Barra de Comandos (sob o menu)"
-
-#: ../src/interface.cpp:840
+#: ../src/interface.cpp:844
 msgid "Tool Controls Bar"
 msgstr "Barra de Controles de Ferramenta"
 
-#: ../src/interface.cpp:840
+#: ../src/interface.cpp:844
 msgid "Show or hide the Tool Controls bar"
 msgstr "Mostrar ou esconder a Barra de Controles de Ferramenta"
 
-#: ../src/interface.cpp:842
+#: ../src/interface.cpp:846
 msgid "_Toolbox"
 msgstr "Caixa de _Ferramentas"
 
-#: ../src/interface.cpp:842
+#: ../src/interface.cpp:846
 msgid "Show or hide the main toolbox (on the left)"
 msgstr "Mostrar ou esconder a caixa de ferramentas principal (à esquerda)"
 
-#: ../src/interface.cpp:848
+#: ../src/interface.cpp:852
 msgid "_Palette"
 msgstr "_Paleta"
 
-#: ../src/interface.cpp:848
+#: ../src/interface.cpp:852
 msgid "Show or hide the color palette"
 msgstr "Mostrar ou esconder a paleta de cores"
 
-#: ../src/interface.cpp:850
+#: ../src/interface.cpp:854
 msgid "_Statusbar"
 msgstr "Barra de E_stado"
 
-#: ../src/interface.cpp:850
+#: ../src/interface.cpp:854
 msgid "Show or hide the statusbar (at the bottom of the window)"
 msgstr "Mostra ou esconde a barra de estado (em baixo na janela)"
 
-#: ../src/interface.cpp:904
+#: ../src/interface.cpp:908
 #, c-format
 msgid "Verb \"%s\" Unknown"
 msgstr "Verbo \"%s\" Desconhecido"
 
 #. TRANSLATORS: #%s is the id of the group e.g. <g id="#g7">, not a number.
-#: ../src/interface.cpp:1023
+#: ../src/interface.cpp:1027
 #, c-format
 msgid "Enter group #%s"
 msgstr "Entrar grupo #%s"
 
-#: ../src/interface.cpp:1034
+#: ../src/interface.cpp:1038
 msgid "Go to parent"
 msgstr "Ir para o pai"
 
-#: ../src/interface.cpp:1125 ../src/interface.cpp:1210
-#: ../src/ui/widget/selected-style.cpp:466
+#: ../src/interface.cpp:1129 ../src/interface.cpp:1214
+#: ../src/ui/widget/selected-style.cpp:462
 msgid "Drop color"
 msgstr "Soltar cor"
 
-#: ../src/interface.cpp:1164
+#: ../src/interface.cpp:1168
 msgid "Drop color on gradient"
 msgstr "Soltar cor no degradê"
 
-#: ../src/interface.cpp:1223
+#: ../src/interface.cpp:1227
 msgid "Could not parse SVG data"
 msgstr "Não foi possível interpretar os dados do SVG"
 
-#: ../src/interface.cpp:1265
+#: ../src/interface.cpp:1269
 msgid "Drop SVG"
 msgstr "Soltar SVG"
 
-#: ../src/interface.cpp:1323
+#: ../src/interface.cpp:1327
 msgid "Drop bitmap image"
 msgstr "Soltar imagem Bitmap"
 
-#: ../src/interface.cpp:1415
+#: ../src/interface.cpp:1419
 #, c-format
 msgid ""
 "<span weight=\"bold\" size=\"larger\">A file named \"%s\" already exists. Do "
@@ -5171,7 +5154,7 @@ msgstr ""
 "\n"
 "O arquivo já existe em \"%s\". Substituí-lo irá sobrescrever o seu conteudo."
 
-#: ../src/interface.cpp:1422
+#: ../src/interface.cpp:1426
 msgid "Replace"
 msgstr "Substituir"
 
@@ -5266,28 +5249,28 @@ msgstr "Negar convite"
 msgid "Inkboard session (%1 to %2)"
 msgstr "Sessão (%1 de %2) do Inkboard"
 
-#: ../src/knot.cpp:430
+#: ../src/knot.cpp:431
 msgid "Node or handle drag canceled."
 msgstr "Arrasto de nó ou alça cancelado."
 
-#: ../src/knotholder.cpp:132
+#: ../src/knotholder.cpp:130
 msgid "Change handle"
 msgstr "Mudar manualmente"
 
-#: ../src/knotholder.cpp:207
+#: ../src/knotholder.cpp:203
 msgid "Move handle"
 msgstr "Mover manualmente"
 
 #. TRANSLATORS: This refers to the pattern that's inside the object
-#: ../src/knotholder.cpp:228
+#: ../src/knotholder.cpp:224
 msgid "<b>Move</b> the pattern fill inside the object"
 msgstr "<b>Mover</b> preenchimento padrão para dentro do objeto"
 
-#: ../src/knotholder.cpp:231
+#: ../src/knotholder.cpp:227
 msgid "<b>Scale</b> the pattern fill uniformly"
 msgstr "<b>Dimensionar</b> o padrão de preenchimento uniformemente"
 
-#: ../src/knotholder.cpp:234
+#: ../src/knotholder.cpp:230
 msgid "<b>Rotate</b> the pattern fill; with <b>Ctrl</b> to snap angle"
 msgstr ""
 "<b>Girar</b> o padrão de preenchimento; com <b>Ctrl</b> para ajustar o ângulo"
@@ -5308,8 +5291,8 @@ msgstr "Estilo da barra acoplável"
 msgid "Dockbar style to show items on it"
 msgstr "Estilo da barra acoplável para mostrar itens"
 
-#: ../src/libgdl/gdl-dock.c:175 ../src/ui/dialog/inkscape-preferences.cpp:496
-#: ../src/ui/dialog/inkscape-preferences.cpp:517
+#: ../src/libgdl/gdl-dock.c:175 ../src/ui/dialog/inkscape-preferences.cpp:506
+#: ../src/ui/dialog/inkscape-preferences.cpp:527
 msgid "Floating"
 msgstr "Flutuando"
 
@@ -5534,10 +5517,10 @@ msgid ""
 msgstr ""
 
 #: ../src/libgdl/gdl-dock-notebook.c:134
-#: ../src/ui/dialog/align-and-distribute.cpp:903
+#: ../src/ui/dialog/align-and-distribute.cpp:916
 #: ../src/ui/dialog/document-properties.cpp:134
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1364
-#: ../src/widgets/desktop-widget.cpp:1544
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1367
+#: ../src/widgets/desktop-widget.cpp:1572
 msgid "Page"
 msgstr "Página"
 
@@ -5545,7 +5528,7 @@ msgstr "Página"
 msgid "The index of the current page"
 msgstr "Índice da página atual"
 
-#: ../src/libgdl/gdl-dock-object.c:120 ../src/ui/widget/page-sizer.cpp:198
+#: ../src/libgdl/gdl-dock-object.c:120 ../src/ui/widget/page-sizer.cpp:216
 msgid "Name"
 msgstr "Nome"
 
@@ -5710,157 +5693,306 @@ msgstr ""
 msgid "Dockitem which 'owns' this tablabel"
 msgstr ""
 
-#: ../src/libnrtype/FontFactory.cpp:774
+#: ../src/libnrtype/FontFactory.cpp:778
 msgid "Ignoring font without family that will crash Pango"
 msgstr "Ignorando fonte sem família que irá travar o Pango"
 
 #. {constant defined in effect.h, N_("name of your effect"), "name of your effect in SVG"}
-#: ../src/live_effects/effect.cpp:68
+#: ../src/live_effects/effect.cpp:76
+#, fuzzy
+msgid "Angle bisector"
+msgstr "Ângulo na direção X"
+
+#: ../src/live_effects/effect.cpp:77
 #, fuzzy
 msgid "Bend"
 msgstr "Mistura"
 
-#: ../src/live_effects/effect.cpp:69
-msgid "Pattern Along Path"
-msgstr "Padrão ao longo do caminho"
-
-#. for historic reasons, this effect is called skeletal(strokes) in Inkscape:SVG
-#: ../src/live_effects/effect.cpp:70
+#: ../src/live_effects/effect.cpp:78
 #, fuzzy
-msgid "Sketch"
-msgstr "Ajustar"
+msgid "Boolops"
+msgstr "Ferramentas"
 
-#: ../src/live_effects/effect.cpp:71
-msgid "VonKoch"
+#: ../src/live_effects/effect.cpp:79
+msgid "Circle (by center and radius)"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:72
-msgid "Knot"
+#: ../src/live_effects/effect.cpp:80
+msgid "Circle by 3 points"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:74
+#: ../src/live_effects/effect.cpp:81
+#, fuzzy
+msgid "Construct grid"
+msgstr "Grade axonométrica"
+
+#: ../src/live_effects/effect.cpp:83
 msgid "doEffect stack test"
 msgstr "Teste de pilha doEffect"
 
-#: ../src/live_effects/effect.cpp:76
-msgid "Gears"
-msgstr "Engrenagens"
-
-#: ../src/live_effects/effect.cpp:77
-msgid "Stitch Sub-Paths"
-msgstr "Pontilhar Sub-Caminhos"
+#: ../src/live_effects/effect.cpp:85
+#, fuzzy
+msgid "Envelope Deformation"
+msgstr "Informação"
 
-#: ../src/live_effects/effect.cpp:78
-msgid "Circle (center+radius)"
+#: ../src/live_effects/effect.cpp:86
+msgid "Freehand Shape"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:79
+#. 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 "Engrenagens"
+
+#: ../src/live_effects/effect.cpp:88
 #, fuzzy
-msgid "Perspective path"
-msgstr "Perspectiva"
+msgid "Interpolate Sub-Paths"
+msgstr "Interpolar"
 
-#: ../src/live_effects/effect.cpp:80
-msgid "Spiro spline"
+#: ../src/live_effects/effect.cpp:89
+msgid "Knot"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:81
+#: ../src/live_effects/effect.cpp:90
 #, fuzzy
 msgid "Lattice Deformation"
 msgstr "Tipo de deformação:"
 
-#: ../src/live_effects/effect.cpp:82
+#: ../src/live_effects/effect.cpp:91
 #, fuzzy
-msgid "Envelope Deformation"
-msgstr "Informação"
+msgid "Line Segment"
+msgstr "Segmentos de _linha"
 
-#: ../src/live_effects/effect.cpp:83
+#: ../src/live_effects/effect.cpp:92
+msgid "Mirror symmetry"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:94
 #, fuzzy
-msgid "Construct grid"
-msgstr "Grade axonométrica"
+msgid "Parallel"
+msgstr "Tipografia normal"
+
+#: ../src/live_effects/effect.cpp:95
+#, fuzzy
+msgid "Path length"
+msgstr "Comprimento de onda"
+
+#: ../src/live_effects/effect.cpp:96
+msgid "Pattern Along Path"
+msgstr "Padrão ao longo do caminho"
 
-#: ../src/live_effects/effect.cpp:84
+#. for historic reasons, this effect is called skeletal(strokes) in Inkscape:SVG
+#: ../src/live_effects/effect.cpp:97
 #, fuzzy
 msgid "Perpendicular bisector"
 msgstr "(perpendicular ao traço, \"escova\")"
 
-#: ../src/live_effects/effect.cpp:85
+#: ../src/live_effects/effect.cpp:98
+#, fuzzy
+msgid "Perspective path"
+msgstr "Perspectiva"
+
+#: ../src/live_effects/effect.cpp:99
+#, fuzzy
+msgid "Rotate copies"
+msgstr "Girar nós"
+
+#: ../src/live_effects/effect.cpp:100
+#, fuzzy
+msgid "Ruler"
+msgstr "_Réguas"
+
+#: ../src/live_effects/effect.cpp:101
+#, fuzzy
+msgid "Sketch"
+msgstr "Ajustar"
+
+#: ../src/live_effects/effect.cpp:102
+msgid "Spiro spline"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:103
+msgid "Stitch Sub-Paths"
+msgstr "Pontilhar Sub-Caminhos"
+
+#: ../src/live_effects/effect.cpp:104
 #, fuzzy
 msgid "Tangent to curve"
 msgstr "Arrastar curva"
 
-#: ../src/live_effects/effect.cpp:86
+#: ../src/live_effects/effect.cpp:105
 #, fuzzy
-msgid "Mirror reflection"
-msgstr "<b>PM</b>: reflexão"
+msgid "Text label"
+msgstr "Ajustar rótulo do objeto"
 
-#: ../src/live_effects/effect.cpp:178
-msgid "Create and apply path effect"
-msgstr "Criar e aplicar efeito de caminho"
+#: ../src/live_effects/effect.cpp:106
+msgid "VonKoch"
+msgstr ""
 
-#: ../src/live_effects/effect.cpp:189
+#: ../src/live_effects/effect.cpp:255
 #, fuzzy
 msgid "Is visible?"
 msgstr "_Visível"
 
-#: ../src/live_effects/effect.cpp:189
+#: ../src/live_effects/effect.cpp:255
 msgid ""
 "If unchecked, the effect remains applied to the object but is temporarily "
 "disabled on canvas"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:207
+#: ../src/live_effects/effect.cpp:256
+#, fuzzy
+msgid "Deactivate knotholder?"
+msgstr "Desativado"
+
+#: ../src/live_effects/effect.cpp:256
+msgid ""
+"Check this to deactivate knotholder handles (useful if they interfere with "
+"node handles during editing)"
+msgstr ""
+
+#: ../src/live_effects/effect.cpp:277
 msgid "No effect"
 msgstr "Sem efeito"
 
-#: ../src/live_effects/effect.cpp:254
+#: ../src/live_effects/effect.cpp:324
 #, c-format
 msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks"
 msgstr ""
 
-#: ../src/live_effects/effect.cpp:294
-msgid "An exception occurred during execution of the Path Effect."
-msgstr "Uma exceção ocorreu durante a execução de um Efeito de Caminho."
-
-#: ../src/live_effects/effect.cpp:512
+#: ../src/live_effects/effect.cpp:623
 #, c-format
 msgid "Editing parameter <b>%s</b>."
 msgstr "Parâmetro de edição <b>%s</b>."
 
-#: ../src/live_effects/effect.cpp:517
+#: ../src/live_effects/effect.cpp:628
 msgid "None of the applied path effect's parameters can be edited on-canvas."
 msgstr ""
 "Nenhum dos parâmetros de efeito de caminho aplicados pode ser editado na "
 "área de desenho. "
 
-#: ../src/live_effects/lpe-bendpath.cpp:57
+#: ../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 "Ajustar Kern para a esquerda"
+
+#: ../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 "Define a cor da fonte de luz"
+
+#: ../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 "Unidade de Comprimento:"
+
+#: ../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 "Capturar o brilho da cor"
+
+#: ../src/live_effects/lpe-angle_bisector.cpp:59
+#, fuzzy
+msgid "Adjust the \"left\" end of the bisector"
+msgstr "Editar as paradas do degradê"
+
+#: ../src/live_effects/lpe-angle_bisector.cpp:60
+#, fuzzy
+msgid "Adjust the \"right\" of the bisector"
+msgstr "Capturar o brilho da cor"
+
+#: ../src/live_effects/lpe-bendpath.cpp:55
 msgid "Bend path"
 msgstr "Curvar caminho"
 
-#: ../src/live_effects/lpe-bendpath.cpp:57
+#: ../src/live_effects/lpe-bendpath.cpp:55
 msgid "Path along which to bend the original path"
 msgstr "Caminho ao longo do qual se curvará o caminho original"
 
-#: ../src/live_effects/lpe-bendpath.cpp:58
+#: ../src/live_effects/lpe-bendpath.cpp:56
 msgid "Width of the path"
 msgstr "Largura do caminho"
 
-#: ../src/live_effects/lpe-bendpath.cpp:59
-#: ../src/live_effects/lpe-patternalongpath.cpp:65
+#: ../src/live_effects/lpe-bendpath.cpp:57
+#: ../src/live_effects/lpe-patternalongpath.cpp:64
 msgid "Width in units of length"
 msgstr "Largura em unidades de comprimento"
 
-#: ../src/live_effects/lpe-bendpath.cpp:59
+#: ../src/live_effects/lpe-bendpath.cpp:57
 msgid "Scale the width of the path in units of its length"
 msgstr "Escalona a largura do caminho em unidades de seu comprimento"
 
-#: ../src/live_effects/lpe-bendpath.cpp:60
+#: ../src/live_effects/lpe-bendpath.cpp:58
 msgid "Original path is vertical"
 msgstr "O caminho original é vertical"
 
-#: ../src/live_effects/lpe-bendpath.cpp:60
+#: ../src/live_effects/lpe-bendpath.cpp:58
 msgid "Rotates the original 90 degrees, before bending it along the bend path"
 msgstr "Rotaciona o original em 90 graus antes de curvá-lo ao longo do caminho"
 
+#: ../src/live_effects/lpe-boolops.cpp:23
+msgid "Null"
+msgstr ""
+
+#: ../src/live_effects/lpe-boolops.cpp:24
+#, fuzzy
+msgid "Intersect"
+msgstr "Intersecção"
+
+#: ../src/live_effects/lpe-boolops.cpp:25
+msgid "Subtract A-B"
+msgstr ""
+
+#: ../src/live_effects/lpe-boolops.cpp:26
+#, fuzzy
+msgid "Identity A"
+msgstr "Identidade"
+
+#: ../src/live_effects/lpe-boolops.cpp:27
+msgid "Subtract B-A"
+msgstr ""
+
+#: ../src/live_effects/lpe-boolops.cpp:28
+#, fuzzy
+msgid "Identity B"
+msgstr "Identidade"
+
+#: ../src/live_effects/lpe-boolops.cpp:29 ../src/splivarot.cpp:96
+msgid "Exclusion"
+msgstr "Exclusão"
+
+#: ../src/live_effects/lpe-boolops.cpp:30 ../src/splivarot.cpp:66
+#: ../src/splivarot.cpp:72
+msgid "Union"
+msgstr "União"
+
+#: ../src/live_effects/lpe-boolops.cpp:36
+#, fuzzy
+msgid "2nd path"
+msgstr "Curvar caminho"
+
+#: ../src/live_effects/lpe-boolops.cpp:36
+#, fuzzy
+msgid "Path to which the original path will be boolop'ed."
+msgstr "Caminho ao longo do qual se curvará o caminho original"
+
+#: ../src/live_effects/lpe-boolops.cpp:37
+#, fuzzy
+msgid "Boolop type"
+msgstr "Todos os tipos"
+
+#: ../src/live_effects/lpe-boolops.cpp:37
+msgid "Determines which kind of boolop will be performed."
+msgstr ""
+
 #: ../src/live_effects/lpe-constructgrid.cpp:28
 #, fuzzy
 msgid "Size X"
@@ -5881,6 +6013,54 @@ msgstr "Dimensões"
 msgid "The size of the grid in Y direction."
 msgstr "Definir Ponto de Fulga na direção Y"
 
+#: ../src/live_effects/lpe-copy_rotate.cpp:47
+#, fuzzy
+msgid "Starting"
+msgstr "Início"
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:47
+msgid "Angle of the first copy"
+msgstr ""
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:48
+#, fuzzy
+msgid "Rotation angle"
+msgstr "_Centro de rotação"
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:48
+msgid "Angle between two successive copies"
+msgstr ""
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:49
+#, fuzzy
+msgid "Number of copies"
+msgstr "Número de linhas"
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:49
+#, fuzzy
+msgid "Number of copies of the original path"
+msgstr "Número de cantos de um polígono ou estrela"
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:50
+#, fuzzy
+msgid "Origin"
+msgstr "_Origem X:"
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:50
+#, fuzzy
+msgid "Origin of the rotation"
+msgstr "Orientação"
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:61
+#, fuzzy
+msgid "Adjust the starting angle"
+msgstr "Ajustar saturação"
+
+#: ../src/live_effects/lpe-copy_rotate.cpp:62
+#, fuzzy
+msgid "Adjust the rotation angle"
+msgstr "Ajustar saturação"
+
 #: ../src/live_effects/lpe-curvestitch.cpp:42
 #, fuzzy
 msgid "Stitch path"
@@ -5965,60 +6145,60 @@ msgstr "Escala de largura relativa"
 msgid "Scale the width of the stitch path relative to its length"
 msgstr "Escala da largura do caminho de traço em relação ao seu comprimento"
 
-#: ../src/live_effects/lpe-envelope.cpp:36
+#: ../src/live_effects/lpe-envelope.cpp:33
 #, fuzzy
 msgid "Top bend path"
 msgstr "Curvar caminho"
 
-#: ../src/live_effects/lpe-envelope.cpp:36
+#: ../src/live_effects/lpe-envelope.cpp:33
 #, fuzzy
 msgid "Top path along which to bend the original path"
 msgstr "Caminho ao longo do qual se curvará o caminho original"
 
-#: ../src/live_effects/lpe-envelope.cpp:37
+#: ../src/live_effects/lpe-envelope.cpp:34
 #, fuzzy
 msgid "Right bend path"
 msgstr "Curvar caminho"
 
-#: ../src/live_effects/lpe-envelope.cpp:37
+#: ../src/live_effects/lpe-envelope.cpp:34
 #, fuzzy
 msgid "Right path along which to bend the original path"
 msgstr "Caminho ao longo do qual se curvará o caminho original"
 
-#: ../src/live_effects/lpe-envelope.cpp:38
+#: ../src/live_effects/lpe-envelope.cpp:35
 #, fuzzy
 msgid "Bottom bend path"
 msgstr "Curvar caminho"
 
-#: ../src/live_effects/lpe-envelope.cpp:38
+#: ../src/live_effects/lpe-envelope.cpp:35
 #, fuzzy
 msgid "Bottom path along which to bend the original path"
 msgstr "Caminho ao longo do qual se curvará o caminho original"
 
-#: ../src/live_effects/lpe-envelope.cpp:39
+#: ../src/live_effects/lpe-envelope.cpp:36
 #, fuzzy
 msgid "Left bend path"
 msgstr "Curvar caminho"
 
-#: ../src/live_effects/lpe-envelope.cpp:39
+#: ../src/live_effects/lpe-envelope.cpp:36
 #, fuzzy
 msgid "Left path along which to bend the original path"
 msgstr "Caminho ao longo do qual se curvará o caminho original"
 
-#: ../src/live_effects/lpe-envelope.cpp:40
+#: ../src/live_effects/lpe-envelope.cpp:37
 msgid "Enable left & right paths"
 msgstr ""
 
-#: ../src/live_effects/lpe-envelope.cpp:40
+#: ../src/live_effects/lpe-envelope.cpp:37
 msgid "Enable the left and right deformation paths"
 msgstr ""
 
-#: ../src/live_effects/lpe-envelope.cpp:41
+#: ../src/live_effects/lpe-envelope.cpp:38
 #, fuzzy
 msgid "Enable top & bottom paths"
 msgstr "Encaixar nos camin_hos"
 
-#: ../src/live_effects/lpe-envelope.cpp:41
+#: ../src/live_effects/lpe-envelope.cpp:38
 #, fuzzy
 msgid "Enable the top and bottom deformation paths"
 msgstr "Duplicar o padrão antes da deformação"
@@ -6043,296 +6223,488 @@ msgstr ""
 "Ângulo da pressão do dente (geralmente 20-25 graus). A relação dos dentes "
 "sem contato."
 
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-knot.cpp:27
+#: ../src/live_effects/lpe-interpolate.cpp:30
 #, fuzzy
-msgid "Gap width"
-msgstr "Largura igual"
-
-#: ../src/live_effects/lpe-knot.cpp:27
-msgid "The width of the gap in the path where it self-intersects"
-msgstr ""
+msgid "Trajectory"
+msgstr "Fator"
 
-#. initialise your parameters here:
-#: ../src/live_effects/lpe-lattice.cpp:45
+#: ../src/live_effects/lpe-interpolate.cpp:30
 #, fuzzy
-msgid "Control handle 0"
-msgstr "Mover alça do nó"
+msgid "Path along which intermediate steps are created."
+msgstr "Caminho ao longo do qual se curvará o caminho original"
 
-#: ../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"
+#: ../src/live_effects/lpe-interpolate.cpp:31
+#: ../src/ui/dialog/inkscape-preferences.cpp:202
+msgid "Steps"
+msgstr "Passos"
+
+#: ../src/live_effects/lpe-interpolate.cpp:31
+msgid "Determines the number of steps from start to end path."
+msgstr ""
+
+#: ../src/live_effects/lpe-interpolate.cpp:32
+#, fuzzy
+msgid "Equidistant spacing"
+msgstr "Aumentar espaçamento entre linhas"
+
+#: ../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/live_effects/lpe-lattice.cpp:46
+#. initialise your parameters here:
+#: ../src/live_effects/lpe-knot.cpp:281
+#, fuzzy
+msgid "Gap width"
+msgstr "Largura igual"
+
+#: ../src/live_effects/lpe-knot.cpp:281
+msgid "The width of the gap in the path where it self-intersects"
+msgstr ""
+
+#: ../src/live_effects/lpe-knot.cpp:282
+#, fuzzy
+msgid "Switcher size"
+msgstr "Alternador de estilo"
+
+#: ../src/live_effects/lpe-knot.cpp:282
+msgid "Orientation indicator/switcher size"
+msgstr ""
+
+#: ../src/live_effects/lpe-knot.cpp:283
+msgid "Crossing Signs"
+msgstr ""
+
+#: ../src/live_effects/lpe-knot.cpp:283
+msgid "Crossings signs"
+msgstr ""
+
+#: ../src/live_effects/lpe-knot.cpp:290
+msgid "Drag to select a crossing, click to flip it"
+msgstr ""
+
+#. initialise your parameters here:
+#: ../src/live_effects/lpe-lattice.cpp:47
+#, fuzzy
+msgid "Control handle 0"
+msgstr "Mover alça do nó"
+
+#: ../src/live_effects/lpe-lattice.cpp:48
 #, fuzzy
 msgid "Control handle 1"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:47
+#: ../src/live_effects/lpe-lattice.cpp:49
 #, fuzzy
 msgid "Control handle 2"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:48
+#: ../src/live_effects/lpe-lattice.cpp:50
 #, fuzzy
 msgid "Control handle 3"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:49
+#: ../src/live_effects/lpe-lattice.cpp:51
 #, fuzzy
 msgid "Control handle 4"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:50
+#: ../src/live_effects/lpe-lattice.cpp:52
 #, fuzzy
 msgid "Control handle 5"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:51
+#: ../src/live_effects/lpe-lattice.cpp:53
 #, fuzzy
 msgid "Control handle 6"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:52
+#: ../src/live_effects/lpe-lattice.cpp:54
 #, fuzzy
 msgid "Control handle 7"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:53
+#: ../src/live_effects/lpe-lattice.cpp:55
 #, fuzzy
 msgid "Control handle 8"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:54
+#: ../src/live_effects/lpe-lattice.cpp:56
 #, fuzzy
 msgid "Control handle 9"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:55
+#: ../src/live_effects/lpe-lattice.cpp:57
 #, fuzzy
 msgid "Control handle 10"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:56
+#: ../src/live_effects/lpe-lattice.cpp:58
 #, fuzzy
 msgid "Control handle 11"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:57
+#: ../src/live_effects/lpe-lattice.cpp:59
 #, fuzzy
 msgid "Control handle 12"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:58
+#: ../src/live_effects/lpe-lattice.cpp:60
 #, fuzzy
 msgid "Control handle 13"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:59
+#: ../src/live_effects/lpe-lattice.cpp:61
 #, fuzzy
 msgid "Control handle 14"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-lattice.cpp:60
+#: ../src/live_effects/lpe-lattice.cpp:62
 #, fuzzy
 msgid "Control handle 15"
 msgstr "Mover alça do nó"
 
-#: ../src/live_effects/lpe-mirror_reflect.cpp:30
+#: ../src/live_effects/lpe-line_segment.cpp:27 ../src/widgets/toolbox.cpp:5045
+#, fuzzy
+msgid "Closed"
+msgstr "Fechar"
+
+#: ../src/live_effects/lpe-line_segment.cpp:28 ../src/widgets/toolbox.cpp:5047
+#, fuzzy
+msgid "Open start"
+msgstr "Arco Aberto"
+
+#: ../src/live_effects/lpe-line_segment.cpp:29 ../src/widgets/toolbox.cpp:5049
+#, fuzzy
+msgid "Open end"
+msgstr "Abrir _Recentes"
+
+#: ../src/live_effects/lpe-line_segment.cpp:30 ../src/widgets/toolbox.cpp:5051
+msgid "Open both"
+msgstr ""
+
+#: ../src/live_effects/lpe-line_segment.cpp:36
+#, fuzzy
+msgid "End type"
+msgstr "  tipo: "
+
+#: ../src/live_effects/lpe-line_segment.cpp:36
+msgid "Determines on which side the line or line segment is infinite."
+msgstr ""
+
+#: ../src/live_effects/lpe-mirror_symmetry.cpp:30
+msgid "Discard original path?"
+msgstr ""
+
+#: ../src/live_effects/lpe-mirror_symmetry.cpp:30
+msgid "Check this to only keep the mirrored part of the path"
+msgstr ""
+
+#: ../src/live_effects/lpe-mirror_symmetry.cpp:31
 #, fuzzy
 msgid "Reflection line"
 msgstr "Seleção"
 
-#: ../src/live_effects/lpe-mirror_reflect.cpp:30
+#: ../src/live_effects/lpe-mirror_symmetry.cpp:31
 msgid "Line which serves as 'mirror' for the reflection"
 msgstr ""
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:53
+#: ../src/live_effects/lpe-offset.cpp:30
+msgid "Handle to control the distance of the offset from the curve"
+msgstr ""
+
+#: ../src/live_effects/lpe-parallel.cpp:46
+#, fuzzy
+msgid "Adjust the offset"
+msgstr "Ajustar a <b>distância de compensação</b>"
+
+#: ../src/live_effects/lpe-parallel.cpp:47
+#, fuzzy
+msgid "Specifies the left end of the parallel"
+msgstr "Define a cor da fonte de luz"
+
+#: ../src/live_effects/lpe-parallel.cpp:48
+#, fuzzy
+msgid "Specifies the right end of the parallel"
+msgstr "Capturar o brilho da cor"
+
+#: ../src/live_effects/lpe-parallel.cpp:56
+#, fuzzy
+msgid "Adjust the \"left\" end of the parallel"
+msgstr "Editar as paradas do degradê"
+
+#: ../src/live_effects/lpe-parallel.cpp:57
+#, fuzzy
+msgid "Adjust the \"right\" end of the parallel"
+msgstr "Editar as paradas do degradê"
+
+#: ../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:2240
+#: ../src/ui/dialog/transformation.cpp:736
+msgid "Scale"
+msgstr "Ampliar"
+
+#: ../src/live_effects/lpe-path_length.cpp:25
+#, fuzzy
+msgid "Scaling factor"
+msgstr "Fator de inclinação"
+
+#: ../src/live_effects/lpe-path_length.cpp:28
+#, fuzzy
+msgid "Display unit"
+msgstr "Ajustes de exibição"
+
+#: ../src/live_effects/lpe-path_length.cpp:28
+#, fuzzy
+msgid "Print unit after path length"
+msgstr "Largura em unidades de comprimento"
+
+#: ../src/live_effects/lpe-patternalongpath.cpp:52
 #: ../share/extensions/pathalongpath.inx.h:11
 msgid "Single"
 msgstr "Único"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:54
+#: ../src/live_effects/lpe-patternalongpath.cpp:53
 #: ../share/extensions/pathalongpath.inx.h:12
 msgid "Single, stretched"
 msgstr "Único, esticado"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:55
+#: ../src/live_effects/lpe-patternalongpath.cpp:54
 #: ../share/extensions/pathalongpath.inx.h:8
 msgid "Repeated"
 msgstr "Repetido"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:56
+#: ../src/live_effects/lpe-patternalongpath.cpp:55
 #: ../share/extensions/pathalongpath.inx.h:9
 msgid "Repeated, stretched"
 msgstr "Repetido, esticado"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:62
+#: ../src/live_effects/lpe-patternalongpath.cpp:61
 msgid "Pattern source"
 msgstr "Fonte padrão"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:62
+#: ../src/live_effects/lpe-patternalongpath.cpp:61
 msgid "Path to put along the skeleton path"
 msgstr "Caminho a ser colocado ao longo do caminho esqueleto"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:63
+#: ../src/live_effects/lpe-patternalongpath.cpp:62
 msgid "Pattern copies"
 msgstr "Cópias de padrão"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:63
+#: ../src/live_effects/lpe-patternalongpath.cpp:62
 msgid "How many pattern copies to place along the skeleton path"
 msgstr "Quantas cópias de padrão serão colocadas ao longo do caminho esqueleto"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:64
+#: ../src/live_effects/lpe-patternalongpath.cpp:63
 msgid "Width of the pattern"
 msgstr "Largura do padrão"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:65
+#: ../src/live_effects/lpe-patternalongpath.cpp:64
 msgid "Scale the width of the pattern in units of its length"
 msgstr "Escala da largura do padrão em unidades de seu comprimento"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:66
+#: ../src/live_effects/lpe-patternalongpath.cpp:65
 msgid "Spacing"
 msgstr "Espaçamento"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:66
+#: ../src/live_effects/lpe-patternalongpath.cpp:65
 #, c-format
 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
+#: ../src/live_effects/lpe-patternalongpath.cpp:66
 #: ../share/extensions/pathalongpath.inx.h:5
 #: ../share/extensions/pathscatter.inx.h:7
 msgid "Normal offset"
 msgstr "Tipografia normal"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:68
+#: ../src/live_effects/lpe-patternalongpath.cpp:67
 #: ../share/extensions/pathalongpath.inx.h:15
 #: ../share/extensions/pathscatter.inx.h:13
 msgid "Tangential offset"
 msgstr "Tipografia tangencial"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:69
+#: ../src/live_effects/lpe-patternalongpath.cpp:68
 #, fuzzy
 msgid "Offsets in unit of pattern size"
 msgstr "Objeto para padrão"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:69
+#: ../src/live_effects/lpe-patternalongpath.cpp:68
 msgid ""
 "Spacing, tangential and normal offset are expressed as a ratio of width/"
 "height"
 msgstr ""
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:70
+#: ../src/live_effects/lpe-patternalongpath.cpp:69
 #: ../share/extensions/pathalongpath.inx.h:7
 #: ../share/extensions/pathscatter.inx.h:9
 msgid "Pattern is vertical"
 msgstr "Padrão é vertical"
 
-#: ../src/live_effects/lpe-patternalongpath.cpp:70
+#: ../src/live_effects/lpe-patternalongpath.cpp:69
 msgid "Rotate pattern 90 deg before applying"
 msgstr ""
 
-#: ../src/live_effects/lpe-perp_bisector.cpp:156
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:65
+#: ../src/live_effects/lpe-perp_bisector.cpp:113
 #, fuzzy
-msgid "Length left"
-msgstr "Ajustar Kern para a esquerda"
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:156
-#, fuzzy
-msgid "Specifies the left end of the bisector"
-msgstr "Define a cor da fonte de luz"
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:157
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:66
-#, fuzzy
-msgid "Length right"
-msgstr "Unidade de Comprimento:"
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:157
-#, fuzzy
-msgid "Specifies the right end of the bisector"
-msgstr "Capturar o brilho da cor"
-
-#: ../src/live_effects/lpe-perp_bisector.cpp:164
-#, fuzzy
-msgid "Lala"
-msgstr "_Rótulo"
+msgid "Adjust the bisector's \"left\" end"
+msgstr "Editar as paradas do degradê"
 
-#: ../src/live_effects/lpe-perp_bisector.cpp:165
-#, fuzzy
-msgid "Lolo"
-msgstr "Cor"
+#: ../src/live_effects/lpe-perp_bisector.cpp:114
+msgid "Adjust the bisector's \"right\" end"
+msgstr ""
 
 #. initialise your parameters here:
-#: ../src/live_effects/lpe-perspective_path.cpp:42
+#: ../src/live_effects/lpe-perspective_path.cpp:52
 #, fuzzy
 msgid "Scale x"
 msgstr "Ampliar"
 
-#: ../src/live_effects/lpe-perspective_path.cpp:42
+#: ../src/live_effects/lpe-perspective_path.cpp:52
 #, fuzzy
 msgid "Scale factor in x direction"
 msgstr "Definir Ponto de Fulga na direção X"
 
-#: ../src/live_effects/lpe-perspective_path.cpp:43
+#: ../src/live_effects/lpe-perspective_path.cpp:53
 #, fuzzy
 msgid "Scale y"
 msgstr "Ampliar"
 
-#: ../src/live_effects/lpe-perspective_path.cpp:43
+#: ../src/live_effects/lpe-perspective_path.cpp:53
 #, fuzzy
 msgid "Scale factor in y direction"
 msgstr "Definir Ponto de Fulga na direção X"
 
-#: ../src/live_effects/lpe-perspective_path.cpp:44
+#: ../src/live_effects/lpe-perspective_path.cpp:54
 #, fuzzy
 msgid "Offset x"
 msgstr "Deslocamento"
 
-#: ../src/live_effects/lpe-perspective_path.cpp:44
+#: ../src/live_effects/lpe-perspective_path.cpp:54
 #, fuzzy
 msgid "Offset in x direction"
 msgstr "Ângulo na direção X"
 
-#: ../src/live_effects/lpe-perspective_path.cpp:45
+#: ../src/live_effects/lpe-perspective_path.cpp:55
 #, fuzzy
 msgid "Offset y"
 msgstr "Deslocamento"
 
-#: ../src/live_effects/lpe-perspective_path.cpp:45
+#: ../src/live_effects/lpe-perspective_path.cpp:55
 #, fuzzy
 msgid "Offset in y direction"
 msgstr "Ângulo na direção X"
 
-#: ../src/live_effects/lpe-perspective_path.cpp:46
+#: ../src/live_effects/lpe-perspective_path.cpp:56
 msgid "Uses XY plane?"
 msgstr ""
 
-#: ../src/live_effects/lpe-perspective_path.cpp:46
+#: ../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 ""
 
+#: ../src/live_effects/lpe-perspective_path.cpp:65
+#, fuzzy
+msgid "Adjust the origin"
+msgstr "Ajustar matiz"
+
+#: ../src/live_effects/lpe-ruler.cpp:26 ../share/extensions/restack.inx.h:7
+#, fuzzy
+msgid "Left"
+msgstr "ft"
+
+#: ../src/live_effects/lpe-ruler.cpp:27 ../share/extensions/restack.inx.h:14
+#, fuzzy
+msgid "Right"
+msgstr "Direitos"
+
+#: ../src/live_effects/lpe-ruler.cpp:28 ../src/live_effects/lpe-ruler.cpp:36
+#, fuzzy
+msgid "Both"
+msgstr "Fundo"
+
+#: ../src/live_effects/lpe-ruler.cpp:34 ../src/widgets/toolbox.cpp:4704
+msgid "Start"
+msgstr "Início"
+
+#: ../src/live_effects/lpe-ruler.cpp:35 ../src/widgets/toolbox.cpp:4717
+msgid "End"
+msgstr "Fim"
+
+#: ../src/live_effects/lpe-ruler.cpp:42
+#, fuzzy
+msgid "Mark distance"
+msgstr "Distância de en_caixe"
+
+#: ../src/live_effects/lpe-ruler.cpp:42
+#, fuzzy
+msgid "Distance between successive ruler marks"
+msgstr "Distância vertical entre linhas da grade"
+
+#: ../src/live_effects/lpe-ruler.cpp:43
+#, fuzzy
+msgid "Major length"
+msgstr "Comprimento de onda"
+
+#: ../src/live_effects/lpe-ruler.cpp:43
+msgid "Length of major ruler marks"
+msgstr ""
+
+#: ../src/live_effects/lpe-ruler.cpp:44
+#, fuzzy
+msgid "Minor length"
+msgstr "Comprimento de onda"
+
+#: ../src/live_effects/lpe-ruler.cpp:44
+msgid "Length of minor ruler marks"
+msgstr ""
+
+#: ../src/live_effects/lpe-ruler.cpp:45
+msgid "Major steps"
+msgstr ""
+
+#: ../src/live_effects/lpe-ruler.cpp:45
+msgid "Draw a major mark every ... steps"
+msgstr ""
+
+#: ../src/live_effects/lpe-ruler.cpp:46
+#, fuzzy
+msgid "Shift marks by"
+msgstr "Definir marcadores"
+
+#: ../src/live_effects/lpe-ruler.cpp:46
+msgid "Shift marks by this many steps"
+msgstr ""
+
+#: ../src/live_effects/lpe-ruler.cpp:47
+#, fuzzy
+msgid "Mark direction"
+msgstr "Expandir direção"
+
+#: ../src/live_effects/lpe-ruler.cpp:47
+msgid "Direction of marks (when viewing along the path from start to end)"
+msgstr ""
+
+#: ../src/live_effects/lpe-ruler.cpp:48
+msgid "Offset of first mark"
+msgstr ""
+
+#: ../src/live_effects/lpe-ruler.cpp:49
+#, fuzzy
+msgid "Border marks"
+msgstr "Cor da borda:"
+
+#: ../src/live_effects/lpe-ruler.cpp:49
+msgid "Choose whether to draw marks at the beginning and end of the path"
+msgstr ""
+
 #. initialise your parameters here:
 #: ../src/live_effects/lpe-skeleton.cpp:33
 #, fuzzy
@@ -6379,9 +6751,9 @@ msgid "Max. overlap"
 msgstr ""
 
 #: ../src/live_effects/lpe-sketch.cpp:41
-msgid ""
-"How much successive strokes should overlap (relative to maximum length)."
-msgstr ""
+#, fuzzy
+msgid "How much successive strokes should overlap (relative to maximum length)"
+msgstr "Escala da largura do caminho de traço em relação ao seu comprimento"
 
 #: ../src/live_effects/lpe-sketch.cpp:42
 msgid "Overlap variation"
@@ -6424,7 +6796,7 @@ msgid "Tremble frequency"
 msgstr "Freqüência Base"
 
 #: ../src/live_effects/lpe-sketch.cpp:51
-msgid "Avreage number of tremble periods in an approximating stroke"
+msgid "Average number of tremble periods in an approximating stroke"
 msgstr ""
 
 #: ../src/live_effects/lpe-sketch.cpp:52
@@ -6436,12 +6808,6 @@ msgstr "Centralizar linhas"
 msgid "How many construction lines (tangents) to draw"
 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/ui/dialog/transformation.cpp:736
-msgid "Scale"
-msgstr "Ampliar"
-
 #: ../src/live_effects/lpe-sketch.cpp:55
 msgid ""
 "Scale factor relating curvature and length of construction lines (try "
@@ -6466,56 +6832,75 @@ msgstr "Menos Saturação"
 msgid "Random variation of the length of construction lines"
 msgstr ""
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:63
+#: ../src/live_effects/lpe-spiro.cpp:227
+#, fuzzy
+msgid "An exception occurred during execution of the Spiro Path Effect."
+msgstr "Uma exceção ocorreu durante a execução de um Efeito de Caminho."
+
+#: ../src/live_effects/lpe-tangent_to_curve.cpp:56
 #: ../share/extensions/motion.inx.h:1 ../share/extensions/restack.inx.h:1
 msgid "Angle"
 msgstr "Ângulo"
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:63
+#: ../src/live_effects/lpe-tangent_to_curve.cpp:56
 msgid "Additional angle between tangent and curve"
 msgstr ""
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:64
+#: ../src/live_effects/lpe-tangent_to_curve.cpp:57
 msgid "Location along curve"
 msgstr ""
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:64
+#: ../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/live_effects/lpe-tangent_to_curve.cpp:65
+#: ../src/live_effects/lpe-tangent_to_curve.cpp:58
 msgid "Specifies the left end of the tangent"
 msgstr ""
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:66
+#: ../src/live_effects/lpe-tangent_to_curve.cpp:59
 msgid "Specifies the right end of the tangent"
 msgstr ""
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:73
+#: ../src/live_effects/lpe-tangent_to_curve.cpp:68
+msgid "Adjust the point of attachment of the tangent"
+msgstr ""
+
+#: ../src/live_effects/lpe-tangent_to_curve.cpp:69
 #, fuzzy
 msgid "Adjust the \"left\" end of the tangent"
 msgstr "Editar as paradas do degradê"
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:74
+#: ../src/live_effects/lpe-tangent_to_curve.cpp:70
 msgid "Adjust the \"right\" end of the tangent"
 msgstr ""
 
-#: ../src/live_effects/lpe-tangent_to_curve.cpp:75
-msgid "Adjust the point of attachment of the tangent"
-msgstr ""
-
-#: ../src/live_effects/lpe-test-doEffect-stack.cpp:23
+#: ../src/live_effects/lpe-test-doEffect-stack.cpp:22
 #, fuzzy
 msgid "Stack step"
 msgstr "Passo de empilhamento"
 
-#: ../src/live_effects/lpe-test-doEffect-stack.cpp:24
+#: ../src/live_effects/lpe-test-doEffect-stack.cpp:23
 #, fuzzy
 msgid "point param"
 msgstr "pentagrama"
 
+#: ../src/live_effects/lpe-test-doEffect-stack.cpp:24
+#, fuzzy
+msgid "path param"
+msgstr "pentagrama"
+
+#: ../src/live_effects/lpe-text_label.cpp:22
+#, fuzzy
+msgid "Label"
+msgstr "_Rótulo"
+
+#: ../src/live_effects/lpe-text_label.cpp:22
+msgid "Text label attached to the path"
+msgstr ""
+
 #: ../src/live_effects/lpe-vonkoch.cpp:42
 #, fuzzy
 msgid "Bounding box"
@@ -6545,29 +6930,40 @@ msgid "Path whos segments define the fractal"
 msgstr ""
 
 #: ../src/live_effects/lpe-vonkoch.cpp:51
-msgid "Draw all generations"
+msgid "Use uniform scale/rotation only"
 msgstr ""
 
 #: ../src/live_effects/lpe-vonkoch.cpp:51
-msgid "If unchecked, draw only the last generation"
+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."
+msgstr ""
+
+#: ../src/live_effects/lpe-vonkoch.cpp:52
+msgid "Draw all generations"
 msgstr ""
 
 #: ../src/live_effects/lpe-vonkoch.cpp:52
+msgid "If unchecked, draw only the last generation"
+msgstr ""
+
+#: ../src/live_effects/lpe-vonkoch.cpp:53
 #, fuzzy
 msgid "Reference"
 msgstr "Diferença"
 
-#: ../src/live_effects/lpe-vonkoch.cpp:52
+#: ../src/live_effects/lpe-vonkoch.cpp:53
 msgid ""
 "Generating path segments define transforms in reference to bbox or last "
 "segment"
 msgstr ""
 
-#: ../src/live_effects/lpe-vonkoch.cpp:53
+#: ../src/live_effects/lpe-vonkoch.cpp:54
 msgid "Max complexity"
 msgstr ""
 
-#: ../src/live_effects/lpe-vonkoch.cpp:53
+#: ../src/live_effects/lpe-vonkoch.cpp:54
 msgid "Disable effect if the output is too complex"
 msgstr ""
 
@@ -6575,7 +6971,7 @@ msgstr ""
 msgid "Change bool parameter"
 msgstr "Alterar parâmetro booleano"
 
-#: ../src/live_effects/parameter/enum.h:51
+#: ../src/live_effects/parameter/enum.h:50
 msgid "Change enumeration parameter"
 msgstr "Alterar parâmetro de enumeração"
 
@@ -6583,38 +6979,37 @@ msgstr "Alterar parâmetro de enumeração"
 msgid "Change scalar parameter"
 msgstr "Mudar parâmetro escalar"
 
-#: ../src/live_effects/parameter/path.cpp:157
-#: ../src/live_effects/parameter/point.cpp:110
+#: ../src/live_effects/parameter/path.cpp:158
 msgid "Edit on-canvas"
 msgstr "Editar na área de desenho"
 
-#: ../src/live_effects/parameter/path.cpp:167
+#: ../src/live_effects/parameter/path.cpp:168
 msgid "Copy path"
 msgstr "Copiar Caminho"
 
-#: ../src/live_effects/parameter/path.cpp:177
+#: ../src/live_effects/parameter/path.cpp:178
 msgid "Paste path"
 msgstr "Colar caminho"
 
-#: ../src/live_effects/parameter/path.cpp:187
+#: ../src/live_effects/parameter/path.cpp:188
 #, fuzzy
 msgid "Link to path"
 msgstr "Encaixar nos camin_hos"
 
-#: ../src/live_effects/parameter/path.cpp:363
+#: ../src/live_effects/parameter/path.cpp:409
 msgid "Paste path parameter"
 msgstr "Colar caminho do parâmetro"
 
-#: ../src/live_effects/parameter/path.cpp:395
+#: ../src/live_effects/parameter/path.cpp:441
 #, fuzzy
 msgid "Link path parameter to path"
 msgstr "Colar caminho do parâmetro"
 
-#: ../src/live_effects/parameter/point.cpp:95
+#: ../src/live_effects/parameter/point.cpp:91
 msgid "Change point parameter"
 msgstr "Alterar parâmetro do ponto"
 
-#: ../src/live_effects/parameter/pointparam-knotholder.cpp:134
+#: ../src/live_effects/parameter/pointparam-knotholder.cpp:133
 #, fuzzy
 msgid "Change LPE point parameter"
 msgstr "Alterar parâmetro do ponto"
@@ -6623,6 +7018,20 @@ msgstr "Alterar parâmetro do ponto"
 msgid "Change random parameter"
 msgstr "Alterar parâmetro randômico"
 
+#: ../src/live_effects/parameter/text.cpp:100
+#, fuzzy
+msgid "Change text parameter"
+msgstr "Alterar parâmetro do ponto"
+
+#: ../src/live_effects/parameter/unit.cpp:77
+#, fuzzy
+msgid "Change unit parameter"
+msgstr "Alterar parâmetro do ponto"
+
+#: ../src/lpe-tool-context.cpp:269
+msgid "Choose a construction tool from the toolbar."
+msgstr ""
+
 #: ../src/main-cmdlineact.cpp:49
 #, c-format
 msgid "Unable to find verb ID '%s' specified on the command line.\n"
@@ -6634,48 +7043,48 @@ msgstr ""
 msgid "Unable to find node ID: '%s'\n"
 msgstr "Impossível encontrar o ID de nó: '%s'\n"
 
-#: ../src/main.cpp:218
+#: ../src/main.cpp:262
 msgid "Print the Inkscape version number"
 msgstr "Imprimir o número de versão do Inkscape"
 
-#: ../src/main.cpp:223
+#: ../src/main.cpp:267
 msgid "Do not use X server (only process files from console)"
 msgstr "Não usar o servidor X (somente arquivos de processos do console)"
 
-#: ../src/main.cpp:228
+#: ../src/main.cpp:272
 msgid "Try to use X server (even if $DISPLAY is not set)"
 msgstr "Tente usar o servidor X (mesmo se $DISPLAY não foi definido)"
 
-#: ../src/main.cpp:233
+#: ../src/main.cpp:277
 msgid "Open specified document(s) (option string may be excluded)"
 msgstr ""
 "Abrir o(s) desenho(s) especificado(s) (frase de opção pode ser excluída)"
 
-#: ../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
+#: ../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 "ARQUIVO"
 
-#: ../src/main.cpp:238
+#: ../src/main.cpp:282
 msgid "Print document(s) to specified output file (use '| program' for pipe)"
 msgstr ""
 "Imprimir desenho(s) para arquivo especificado (  use '| programa' para "
 "redirecionamento)"
 
-#: ../src/main.cpp:243
+#: ../src/main.cpp:287
 msgid "Export document to a PNG file"
 msgstr "Exportar desenho para um arquivo PNG"
 
-#: ../src/main.cpp:248
+#: ../src/main.cpp:292
 msgid "The resolution used for exporting SVG into bitmap (default 90)"
 msgstr "A resolução usada para converter o SVG para um bitmap (padrão 90)"
 
-#: ../src/main.cpp:249 ../src/ui/widget/rendering-options.cpp:43
+#: ../src/main.cpp:293 ../src/ui/widget/rendering-options.cpp:43
 msgid "DPI"
 msgstr "DPI"
 
-#: ../src/main.cpp:253
+#: ../src/main.cpp:297
 msgid ""
 "Exported area in SVG user units (default is the canvas; 0,0 is lower-left "
 "corner)"
@@ -6683,19 +7092,19 @@ msgstr ""
 "Área exportada em unidades de usuário SVG (padrão é todo o desenho, 0,0 é o "
 "canto esquerdo inferior)"
 
-#: ../src/main.cpp:254
+#: ../src/main.cpp:298
 msgid "x0:y0:x1:y1"
 msgstr "x0:y0:x1:y1"
 
-#: ../src/main.cpp:258
+#: ../src/main.cpp:302
 msgid "Exported area is the entire drawing (not canvas)"
 msgstr "A área exportada é o desenho inteiro (não a tela de pintura)"
 
-#: ../src/main.cpp:263
+#: ../src/main.cpp:307
 msgid "Exported area is the entire canvas"
 msgstr "A área exportada é toda a tela de pintura"
 
-#: ../src/main.cpp:268
+#: ../src/main.cpp:312
 msgid ""
 "Snap the bitmap export area outwards to the nearest integer values (in SVG "
 "user units)"
@@ -6703,97 +7112,97 @@ msgstr ""
 "Copie a imagem exportada para a área de transferência mantendo os valores "
 "inteiros (no SVG com unidades do usuário)"
 
-#: ../src/main.cpp:273
+#: ../src/main.cpp:317
 msgid "The width of exported bitmap in pixels (overrides export-dpi)"
 msgstr "A largura da figura exportada em pixels (sobrescreve export-dpi)"
 
-#: ../src/main.cpp:274
+#: ../src/main.cpp:318
 msgid "WIDTH"
 msgstr "LARGURA"
 
-#: ../src/main.cpp:278
+#: ../src/main.cpp:322
 msgid "The height of exported bitmap in pixels (overrides export-dpi)"
 msgstr "A altura da figura exportada em pixels (sobrescreve export-dpi)"
 
-#: ../src/main.cpp:279
+#: ../src/main.cpp:323
 msgid "HEIGHT"
 msgstr "ALTURA"
 
-#: ../src/main.cpp:283
+#: ../src/main.cpp:327
 msgid "The ID of the object to export"
 msgstr "O ID do objeto para exportar"
 
-#: ../src/main.cpp:284 ../src/main.cpp:382
+#: ../src/main.cpp:328 ../src/main.cpp:426
 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:290
+#: ../src/main.cpp:334
 msgid ""
 "Export just the object with export-id, hide all others (only with export-id)"
 msgstr ""
 "Exportar somente o objeto com id-exportação, esconder todos os outros "
 "(somente com id-exportação)"
 
-#: ../src/main.cpp:295
+#: ../src/main.cpp:339
 msgid "Use stored filename and DPI hints when exporting (only with export-id)"
 msgstr ""
 "Usar nome de arquivo armazenado e dicas de DPI ao exportar (somente com id-"
 "exportação)"
 
-#: ../src/main.cpp:300
+#: ../src/main.cpp:344
 msgid "Background color of exported bitmap (any SVG-supported color string)"
 msgstr "Cor de fundo da figura exportada (qualquer palavra de cor do SVG)"
 
-#: ../src/main.cpp:301
+#: ../src/main.cpp:345
 msgid "COLOR"
 msgstr "COR"
 
-#: ../src/main.cpp:305
+#: ../src/main.cpp:349
 msgid "Background opacity of exported bitmap (either 0.0 to 1.0, or 1 to 255)"
 msgstr "Opacidade do fundo da figura exportada (De 0 a 1, ou 1 a 255)"
 
-#: ../src/main.cpp:306
+#: ../src/main.cpp:350
 msgid "VALUE"
 msgstr "VALOR"
 
-#: ../src/main.cpp:310
+#: ../src/main.cpp:354
 msgid "Export document to plain SVG file (no sodipodi or inkscape namespaces)"
 msgstr ""
 "Exportar o desenho para um arquivo SVG simples (sem namespaces sodipodi ou "
 "inkscape)"
 
-#: ../src/main.cpp:315
+#: ../src/main.cpp:359
 msgid "Export document to a PS file"
 msgstr "Exportar documento para um arquivo PS"
 
-#: ../src/main.cpp:320
+#: ../src/main.cpp:364
 msgid "Export document to an EPS file"
 msgstr "Exportar documento para um arquivo EPS"
 
-#: ../src/main.cpp:325
+#: ../src/main.cpp:369
 msgid "Export document to a PDF file"
 msgstr "Exportar documento para um arquivo PDF"
 
-#: ../src/main.cpp:331
+#: ../src/main.cpp:375
 msgid "Export document to an Enhanced Metafile (EMF) File"
 msgstr "Exportar documento para um arquivo Enhanced Metafile (EMF)"
 
-#: ../src/main.cpp:337
+#: ../src/main.cpp:381
 msgid "Convert text object to paths on export (EPS)"
 msgstr "Converter texto em objetos ao exportar (EPS)"
 
-#: ../src/main.cpp:342
+#: ../src/main.cpp:386
 msgid "Embed fonts on export (Type 1 only) (EPS)"
 msgstr "Incorporar fontes ao exportar (somente Type 1) (EPS)"
 
-#: ../src/main.cpp:347
+#: ../src/main.cpp:391
 msgid "Export files with the bounding box set to the page size (EPS)"
 msgstr "Exportar arquivos com as margens ajustadas ao tamanho da página (EPS)"
 
 #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help"
-#: ../src/main.cpp:353
+#: ../src/main.cpp:397
 msgid ""
 "Query the X coordinate of the drawing or, if specified, of the object with --"
 "query-id"
@@ -6802,7 +7211,7 @@ msgstr ""
 "query-id"
 
 #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help"
-#: ../src/main.cpp:359
+#: ../src/main.cpp:403
 msgid ""
 "Query the Y coordinate of the drawing or, if specified, of the object with --"
 "query-id"
@@ -6811,7 +7220,7 @@ msgstr ""
 "query-id"
 
 #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help"
-#: ../src/main.cpp:365
+#: ../src/main.cpp:409
 msgid ""
 "Query the width of the drawing or, if specified, of the object with --query-"
 "id"
@@ -6820,7 +7229,7 @@ msgstr ""
 "id"
 
 #. TRANSLATORS: "--query-id" is an Inkscape command line option; see "inkscape --help"
-#: ../src/main.cpp:371
+#: ../src/main.cpp:415
 msgid ""
 "Query the height of the drawing or, if specified, of the object with --query-"
 "id"
@@ -6828,44 +7237,48 @@ msgstr ""
 "Perguntar a largura de um desenho ou, se especificado, do objeto com --query-"
 "id"
 
-#: ../src/main.cpp:376
+#: ../src/main.cpp:420
 msgid "List id,x,y,w,h for all objects"
 msgstr "Listar id,x,y,w,h para todos os objetos"
 
-#: ../src/main.cpp:381
+#: ../src/main.cpp:425
 msgid "The ID of the object whose dimensions are queried"
 msgstr "O ID do objeto cujas dimensões são pesquisadas"
 
 #. TRANSLATORS: this option makes Inkscape print the name (path) of the extension directory
-#: ../src/main.cpp:387
+#: ../src/main.cpp:431
 msgid "Print out the extension directory and exit"
 msgstr "Imprime o diretório das extensões e sai"
 
-#: ../src/main.cpp:392
+#: ../src/main.cpp:436
 msgid "Remove unused definitions from the defs section(s) of the document"
 msgstr "Apagar definições não usadas da(s) seção(ões) <defs> do documento"
 
-#: ../src/main.cpp:397
+#: ../src/main.cpp:441
 msgid "List the IDs of all the verbs in Inkscape"
 msgstr "Listar os IDs de todos os verbos do Inkscape"
 
-#: ../src/main.cpp:402
+#: ../src/main.cpp:446
 msgid "Verb to call when Inkscape opens."
 msgstr "Verbo para chamar quando o Inkscape abrir."
 
-#: ../src/main.cpp:403
+#: ../src/main.cpp:447
 msgid "VERB-ID"
 msgstr "VERBO-ID"
 
-#: ../src/main.cpp:407
+#: ../src/main.cpp:451
 msgid "Object ID to select when Inkscape opens."
 msgstr "ID do objeto para selecionar quando o Inkscape abrir."
 
-#: ../src/main.cpp:408
+#: ../src/main.cpp:452
 msgid "OBJECT-ID"
 msgstr "OBJETO-ID"
 
-#: ../src/main.cpp:687
+#: ../src/main.cpp:456
+msgid "Start Inkscape in interative shell mode."
+msgstr ""
+
+#: ../src/main.cpp:737 ../src/main.cpp:973
 msgid ""
 "[OPTIONS...] [FILE...]\n"
 "\n"
@@ -6883,11 +7296,11 @@ msgstr "_Novo"
 msgid "Open _Recent"
 msgstr "Abrir _Recentes"
 
-#: ../src/menus-skeleton.h:50 ../src/verbs.cpp:2403 ../src/verbs.cpp:2409
+#: ../src/menus-skeleton.h:50 ../src/verbs.cpp:2463 ../src/verbs.cpp:2469
 msgid "_Edit"
 msgstr "_Editar"
 
-#: ../src/menus-skeleton.h:60 ../src/verbs.cpp:2205
+#: ../src/menus-skeleton.h:60 ../src/verbs.cpp:2259
 msgid "Paste Si_ze"
 msgstr "Colar Ta_manho"
 
@@ -6895,72 +7308,74 @@ msgstr "Colar Ta_manho"
 msgid "Clo_ne"
 msgstr "Clo_nar"
 
-#: ../src/menus-skeleton.h:91
+#: ../src/menus-skeleton.h:92
 msgid "_View"
 msgstr "E_xibir"
 
-#: ../src/menus-skeleton.h:92
+#: ../src/menus-skeleton.h:93
 msgid "_Zoom"
 msgstr "_Zoom"
 
-#: ../src/menus-skeleton.h:108
+#: ../src/menus-skeleton.h:109
 msgid "_Display mode"
 msgstr "_Modo de visão"
 
-#: ../src/menus-skeleton.h:120
+#: ../src/menus-skeleton.h:121
 msgid "Show/Hide"
 msgstr "Mostrar/Esconder"
 
-#: ../src/menus-skeleton.h:137
+#. Not quite ready to be in the menus.
+#. "       <verb verb-id=\"FocusToggle\" />\n"
+#: ../src/menus-skeleton.h:140
 msgid "_Layer"
 msgstr "Ca_mada"
 
-#: ../src/menus-skeleton.h:156
+#: ../src/menus-skeleton.h:160
 msgid "_Object"
 msgstr "_Objeto"
 
-#: ../src/menus-skeleton.h:166
+#: ../src/menus-skeleton.h:170
 msgid "Cli_p"
 msgstr "Cli_p"
 
-#: ../src/menus-skeleton.h:170
+#: ../src/menus-skeleton.h:174
 msgid "Mas_k"
 msgstr "Más_cara"
 
-#: ../src/menus-skeleton.h:174
+#: ../src/menus-skeleton.h:178
 msgid "Patter_n"
 msgstr "Padrão de preenchime_nto"
 
-#: ../src/menus-skeleton.h:198
+#: ../src/menus-skeleton.h:202
 msgid "_Path"
 msgstr "_Caminho"
 
-#: ../src/menus-skeleton.h:221
+#: ../src/menus-skeleton.h:225
 #, fuzzy
 msgid "Path Effects"
 msgstr "Efeitos sobre caminhos..."
 
-#: ../src/menus-skeleton.h:227
+#: ../src/menus-skeleton.h:231
 msgid "_Text"
 msgstr "_Texto"
 
-#: ../src/menus-skeleton.h:239
+#: ../src/menus-skeleton.h:246
 msgid "Effe_cts"
 msgstr "Efeito_s"
 
-#: ../src/menus-skeleton.h:246
+#: ../src/menus-skeleton.h:253
 msgid "Whiteboa_rd"
 msgstr "Whiteboa_rd"
 
-#: ../src/menus-skeleton.h:250
+#: ../src/menus-skeleton.h:257
 msgid "_Help"
 msgstr "Aj_uda"
 
-#: ../src/menus-skeleton.h:254
+#: ../src/menus-skeleton.h:261
 msgid "Tutorials"
 msgstr "Tutoriais"
 
-#: ../src/node-context.cpp:255
+#: ../src/node-context.cpp:228
 msgid ""
 "<b>Ctrl</b>: toggle node type, snap handle angle, move hor/vert; <b>Ctrl"
 "+Alt</b>: move along handles"
@@ -6968,35 +7383,35 @@ msgstr ""
 "<b>Ctrl</b>: muda o tipo do nó, ajusta o ângulo da alça, move hor/vert; "
 "<b>Ctrl+Alt</b>: move ao longo da alça"
 
-#: ../src/node-context.cpp:256
+#: ../src/node-context.cpp:229
 msgid ""
 "<b>Shift</b>: toggle node selection, disable snapping, rotate both handles"
 msgstr ""
 "<b>Shift</b>: muda a seleção de nó, desabilita ajuste, gira ambas as alças"
 
-#: ../src/node-context.cpp:257
+#: ../src/node-context.cpp:230
 msgid "<b>Alt</b>: lock handle length; <b>Ctrl+Alt</b>: move along handles"
 msgstr ""
 "<b>Alt</b>: travar o tamanho da alça. <b>Ctrl+Alt</b>: mover ao longo da alça"
 
-#: ../src/nodepath.cpp:651 ../src/seltrans.cpp:547
+#: ../src/nodepath.cpp:739 ../src/seltrans.cpp:548
 msgid "Stamp"
 msgstr "Carimbo"
 
-#: ../src/nodepath.cpp:1486 ../src/nodepath.cpp:1513
+#: ../src/nodepath.cpp:1591 ../src/nodepath.cpp:1617
 msgid "Move nodes vertically"
 msgstr "Mover nós verticalmente"
 
-#: ../src/nodepath.cpp:1488 ../src/nodepath.cpp:1515
+#: ../src/nodepath.cpp:1593 ../src/nodepath.cpp:1619
 msgid "Move nodes horizontally"
 msgstr "Mover nós horizontalmente"
 
-#: ../src/nodepath.cpp:1490 ../src/nodepath.cpp:1517 ../src/nodepath.cpp:1532
-#: ../src/nodepath.cpp:3359
+#: ../src/nodepath.cpp:1595 ../src/nodepath.cpp:1621 ../src/nodepath.cpp:1636
+#: ../src/nodepath.cpp:3490
 msgid "Move nodes"
 msgstr "Mover nós"
 
-#: ../src/nodepath.cpp:1570
+#: ../src/nodepath.cpp:1674
 msgid ""
 "<b>Node handle</b>: drag to shape the curve; with <b>Ctrl</b> to snap angle; "
 "with <b>Alt</b> to lock length; with <b>Shift</b> to rotate both handles"
@@ -7005,55 +7420,55 @@ msgstr ""
 "ajustar o ângulo; com <b>Alt</b> para travar o comprimento; com <b>Shift</b> "
 "para girar ambas as alças"
 
-#: ../src/nodepath.cpp:1740
+#: ../src/nodepath.cpp:1844
 msgid "Align nodes"
 msgstr "Alinhar nós"
 
-#: ../src/nodepath.cpp:1802
+#: ../src/nodepath.cpp:1906
 msgid "Distribute nodes"
 msgstr "Distribuir nós"
 
-#: ../src/nodepath.cpp:1840
+#: ../src/nodepath.cpp:1944
 msgid "Add nodes"
 msgstr "Adicionar nós"
 
-#: ../src/nodepath.cpp:1842 ../src/nodepath.cpp:1914
+#: ../src/nodepath.cpp:1946 ../src/nodepath.cpp:2045
 msgid "Add node"
 msgstr "Adicionar nó"
 
-#: ../src/nodepath.cpp:1995
+#: ../src/nodepath.cpp:2128
 msgid "Break path"
 msgstr "Quebrar caminho"
 
-#: ../src/nodepath.cpp:2051
+#: ../src/nodepath.cpp:2184
 msgid "Close subpath"
 msgstr "Fechar subcaminho"
 
-#: ../src/nodepath.cpp:2112
+#: ../src/nodepath.cpp:2245
 msgid "Join nodes"
 msgstr "Juntar nós"
 
-#: ../src/nodepath.cpp:2139
+#: ../src/nodepath.cpp:2272
 msgid "Close subpath by segment"
 msgstr "Fechar subcaminho por segmento"
 
-#: ../src/nodepath.cpp:2193
+#: ../src/nodepath.cpp:2326
 msgid "Join nodes by segment"
 msgstr "Juntar nós por segmento"
 
-#: ../src/nodepath.cpp:2206 ../src/nodepath.cpp:2221
+#: ../src/nodepath.cpp:2339 ../src/nodepath.cpp:2354
 msgid "To join, you must have <b>two endnodes</b> selected."
 msgstr "Para juntar, você deve ter <b>dois nós finais</b> selecionados."
 
-#: ../src/nodepath.cpp:2378 ../src/nodepath.cpp:2414 ../src/nodepath.cpp:2418
+#: ../src/nodepath.cpp:2511 ../src/nodepath.cpp:2547 ../src/nodepath.cpp:2551
 msgid "Delete nodes"
 msgstr "Apagar nós"
 
-#: ../src/nodepath.cpp:2380
+#: ../src/nodepath.cpp:2513
 msgid "Delete nodes preserving shape"
 msgstr "Apagar nós preservando a forma"
 
-#: ../src/nodepath.cpp:2437 ../src/nodepath.cpp:2451
+#: ../src/nodepath.cpp:2570 ../src/nodepath.cpp:2584
 msgid ""
 "Select <b>two non-endpoint nodes</b> on a path between which to delete "
 "segments."
@@ -7061,31 +7476,31 @@ msgstr ""
 "Você precisa selecionar <b>dois nós não finais</b> num caminho para apagar "
 "os segmentos"
 
-#: ../src/nodepath.cpp:2547
+#: ../src/nodepath.cpp:2680
 msgid "Cannot find path between nodes."
 msgstr "Não foi possível encontrar o caminho entre os nós."
 
-#: ../src/nodepath.cpp:2579 ../src/widgets/toolbox.cpp:1129
+#: ../src/nodepath.cpp:2712 ../src/widgets/toolbox.cpp:1319
 msgid "Delete segment"
 msgstr "Apagar segmento"
 
-#: ../src/nodepath.cpp:2600
+#: ../src/nodepath.cpp:2733
 msgid "Change segment type"
 msgstr "Alterar tipo do segmento"
 
-#: ../src/nodepath.cpp:2617 ../src/nodepath.cpp:3317
+#: ../src/nodepath.cpp:2750 ../src/nodepath.cpp:3448
 msgid "Change node type"
 msgstr "Alterar tipo do nó"
 
-#: ../src/nodepath.cpp:3605
+#: ../src/nodepath.cpp:3736
 msgid "Retract handle"
 msgstr "Retrair alça"
 
-#: ../src/nodepath.cpp:3654
+#: ../src/nodepath.cpp:3785
 msgid "Move node handle"
 msgstr "Mover alça do nó"
 
-#: ../src/nodepath.cpp:3823
+#: ../src/nodepath.cpp:3970
 #, c-format
 msgid ""
 "<b>Node handle</b>: angle %0.2f&#176;, length %s; with <b>Ctrl</b> to snap "
@@ -7096,19 +7511,19 @@ msgstr ""
 "ajustar o ângulo; com <b>Alt</b> para travar o comprimento; com <b>Shift</b> "
 "para girar ambas as alças"
 
-#: ../src/nodepath.cpp:4017
+#: ../src/nodepath.cpp:4164
 msgid "Rotate nodes"
 msgstr "Girar nós"
 
-#: ../src/nodepath.cpp:4148
+#: ../src/nodepath.cpp:4295
 msgid "Scale nodes"
 msgstr "Escalar nós"
 
-#: ../src/nodepath.cpp:4192
+#: ../src/nodepath.cpp:4339
 msgid "Flip nodes"
 msgstr "Inverter nós"
 
-#: ../src/nodepath.cpp:4361
+#: ../src/nodepath.cpp:4508
 msgid ""
 "<b>Node</b>: drag to edit the path; with <b>Ctrl</b> to snap to horizontal/"
 "vertical; with <b>Ctrl+Alt</b> to snap to handles' directions"
@@ -7117,39 +7532,39 @@ msgstr ""
 "horizontal/vertical; <b>Ctrl+Alt</b> para ajustar nas direções das alças"
 
 #. TRANSLATORS: "end" is an adjective here (NOT a verb)
-#: ../src/nodepath.cpp:4587
+#: ../src/nodepath.cpp:4742
 msgid "end node"
 msgstr "nó final"
 
 #. TRANSLATORS: "cusp" means "sharp" (cusp node); see also the Advanced Tutorial
-#: ../src/nodepath.cpp:4592
+#: ../src/nodepath.cpp:4747
 msgid "cusp"
 msgstr "agudo"
 
 #. TRANSLATORS: "smooth" is an adjective here
-#: ../src/nodepath.cpp:4595
+#: ../src/nodepath.cpp:4750
 msgid "smooth"
 msgstr "suave"
 
-#: ../src/nodepath.cpp:4597
+#: ../src/nodepath.cpp:4752
 msgid "symmetric"
 msgstr "simétrico"
 
 #. TRANSLATORS: "end" is an adjective here (NOT a verb)
-#: ../src/nodepath.cpp:4603
+#: ../src/nodepath.cpp:4758
 msgid "end node, handle retracted (drag with <b>Shift</b> to extend)"
 msgstr "nó final, alça retraída (arraste com <b>Shift</b> para estender)"
 
-#: ../src/nodepath.cpp:4605
+#: ../src/nodepath.cpp:4760
 msgid "one handle retracted (drag with <b>Shift</b> to extend)"
 msgstr "uma alça retraída (arraste com <b>Shift</b> para estender)"
 
-#: ../src/nodepath.cpp:4608
+#: ../src/nodepath.cpp:4763
 msgid "both handles retracted (drag with <b>Shift</b> to extend)"
 msgstr ""
 "ambas as alças estão retraídas (arraste com <b>Shift</b> para estender)"
 
-#: ../src/nodepath.cpp:4620
+#: ../src/nodepath.cpp:4775
 msgid ""
 "<b>Drag</b> nodes or node handles; <b>Alt+drag</b> nodes to sculpt; "
 "<b>arrow</b> keys to move nodes, <b>&lt; &gt;</b> to scale, <b>[ ]</b> to "
@@ -7159,16 +7574,16 @@ msgstr ""
 "<b>setas</b> para mover os nós, <b>&lt; &gt;</b> para escalar, <b>[ ]</b> "
 "para girar"
 
-#: ../src/nodepath.cpp:4621
+#: ../src/nodepath.cpp:4776
 msgid "<b>Drag</b> the node or its handles; <b>arrow</b> keys to move the node"
 msgstr ""
 "<b>Arrastar</b> os nós ou suas alças; <b>setas</b> do teclado para mover o nó"
 
-#: ../src/nodepath.cpp:4646 ../src/nodepath.cpp:4658
+#: ../src/nodepath.cpp:4802 ../src/nodepath.cpp:4814
 msgid "Select a single object to edit its nodes or handles."
 msgstr "Selecionar um único objeto para editar seus nós ou alças"
 
-#: ../src/nodepath.cpp:4650
+#: ../src/nodepath.cpp:4806
 #, c-format
 msgid ""
 "<b>0</b> out of <b>%i</b> node selected. <b>Click</b>, <b>Shift+click</b>, "
@@ -7183,18 +7598,18 @@ msgstr[1] ""
 "<b>0</b> de <b>%i</b> nós selecionados. Clique, clique + shift ou <b>arraste "
 "ao redor</b> dos objetos para selecionar."
 
-#: ../src/nodepath.cpp:4656
+#: ../src/nodepath.cpp:4812
 msgid "Drag the handles of the object to modify it."
 msgstr "Arraste as alças do objeto para modificá-lo."
 
-#: ../src/nodepath.cpp:4664
+#: ../src/nodepath.cpp:4820
 #, c-format
 msgid "<b>%i</b> of <b>%i</b> node selected; %s. %s."
 msgid_plural "<b>%i</b> of <b>%i</b> nodes selected; %s. %s."
 msgstr[0] "<b>%i</b> de <b>%i</b> nó selecionado; %s. %s."
 msgstr[1] "<b>%i</b> de <b>%i</b> nós selecionados; %s. %s."
 
-#: ../src/nodepath.cpp:4671
+#: ../src/nodepath.cpp:4827
 #, c-format
 msgid ""
 "<b>%i</b> of <b>%i</b> node selected in <b>%i</b> of <b>%i</b> subpaths. %s."
@@ -7207,14 +7622,14 @@ msgstr[1] ""
 "<b>%i</b> de <b>%i</b> nós selecionados em <b>%i</b> de <b>%i</b> "
 "subcaminhos. %s."
 
-#: ../src/nodepath.cpp:4677
+#: ../src/nodepath.cpp:4833
 #, c-format
 msgid "<b>%i</b> of <b>%i</b> node selected. %s."
 msgid_plural "<b>%i</b> of <b>%i</b> nodes selected. %s."
 msgstr[0] "<b>%i</b> de <b>%i</b> nó selecionado; %s."
 msgstr[1] "<b>%i</b> de <b>%i</b> nós selecionados; %s."
 
-#: ../src/object-edit.cpp:420
+#: ../src/object-edit.cpp:408
 msgid ""
 "Adjust the <b>horizontal rounding</b> radius; with <b>Ctrl</b> to make the "
 "vertical radius the same"
@@ -7222,7 +7637,7 @@ msgstr ""
 "Ajustar o raio <b>de arredondamento horizontal</b>; com <b>Ctrl</b> para "
 "fazer o mesmo no raio vertical"
 
-#: ../src/object-edit.cpp:424
+#: ../src/object-edit.cpp:412
 msgid ""
 "Adjust the <b>vertical rounding</b> radius; with <b>Ctrl</b> to make the "
 "horizontal radius the same"
@@ -7230,7 +7645,7 @@ msgstr ""
 "Ajustar o raio <b>de arredondamento vertical</b>; com <b>Ctrl</b> para fazer "
 "o mesmo no raio horizontal"
 
-#: ../src/object-edit.cpp:428 ../src/object-edit.cpp:432
+#: ../src/object-edit.cpp:416 ../src/object-edit.cpp:420
 #, fuzzy
 msgid ""
 "Adjust the <b>width and height</b> of the rectangle; with <b>Ctrl</b>to lock "
@@ -7239,8 +7654,8 @@ msgstr ""
 "Ajustar a <b>largura e altura</b> do retângulo; com <b>Ctrl</b>para travar a "
 "proporção ou esticar somente numa dimensão"
 
-#: ../src/object-edit.cpp:666 ../src/object-edit.cpp:669
-#: ../src/object-edit.cpp:672 ../src/object-edit.cpp:675
+#: ../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 <b>Shift</b> along the Z axis; with "
 "<b>Ctrl</b> to constrain to the directions of edges or diagonals"
@@ -7248,8 +7663,8 @@ msgstr ""
 "Redimensionar caixa na direção X/Y; com <b>Shift</b> ao longo do eixo Z; com "
 "<b>Ctrl</b> para restringir às direções das bordas ou diagonais"
 
-#: ../src/object-edit.cpp:678 ../src/object-edit.cpp:681
-#: ../src/object-edit.cpp:684 ../src/object-edit.cpp:687
+#: ../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 <b>Shift</b> in X/Y direction; with "
 "<b>Ctrl</b> to constrain to the directions of edges or diagonals"
@@ -7257,22 +7672,22 @@ msgstr ""
 "Redimensionar caixa ao longo do eixo Z; com <b>Shift</b> na direção X/Y; com "
 "<b>Ctrl</b> para as direções dos limites ou diagonais"
 
-#: ../src/object-edit.cpp:690
+#: ../src/object-edit.cpp:678
 #, fuzzy
 msgid "Move the box in perspective"
 msgstr "Mover a caixa em perspectiva."
 
-#: ../src/object-edit.cpp:908
+#: ../src/object-edit.cpp:894
 msgid "Adjust ellipse <b>width</b>, with <b>Ctrl</b> to make circle"
 msgstr ""
 "Ajustar a <b>largura</b> da elipse, com <b>Ctrl</b> para formar um círculo"
 
-#: ../src/object-edit.cpp:911
+#: ../src/object-edit.cpp:897
 msgid "Adjust ellipse <b>height</b>, with <b>Ctrl</b> to make circle"
 msgstr ""
 "Ajustar a <b>altura</b> da elipse, com <b>Ctrl</b> para formar um círculo"
 
-#: ../src/object-edit.cpp:914
+#: ../src/object-edit.cpp:900
 #, fuzzy
 msgid ""
 "Position the <b>start point</b> of the arc or segment; with <b>Ctrl</b>to "
@@ -7283,7 +7698,7 @@ msgstr ""
 "ajustar o ângulo; arraste <b>para dentro</b> da elipse para um arco, <b>para "
 "fora</b> para um segmento"
 
-#: ../src/object-edit.cpp:918
+#: ../src/object-edit.cpp:904
 msgid ""
 "Position the <b>end point</b> of the arc or segment; with <b>Ctrl</b> to "
 "snap angle; drag <b>inside</b> the ellipse for arc, <b>outside</b> for "
@@ -7293,7 +7708,7 @@ msgstr ""
 "ajustar o ângulo; arraste <b>para dentro</b> da elipse para um arco, <b>para "
 "fora</b> para um segmento"
 
-#: ../src/object-edit.cpp:1057
+#: ../src/object-edit.cpp:1043
 msgid ""
 "Adjust the <b>tip radius</b> of the star or polygon; with <b>Shift</b> to "
 "round; with <b>Alt</b> to randomize"
@@ -7301,7 +7716,7 @@ msgstr ""
 "Ajusta o <b>raio de dica</b> da estrela ou polígono; com <b>Shift</b> para "
 "arredondar; com <b>Alt</b> para aleatório"
 
-#: ../src/object-edit.cpp:1064
+#: ../src/object-edit.cpp:1050
 msgid ""
 "Adjust the <b>base radius</b> of the star; with <b>Ctrl</b> to keep star "
 "rays radial (no skew); with <b>Shift</b> to round; with <b>Alt</b> to "
@@ -7311,7 +7726,7 @@ msgstr ""
 "manter os raios das estrelas radiais (nenhuma inclinação); com <b>Shift</"
 "b>para arredondar; com <b>Alt</b> para aleatório"
 
-#: ../src/object-edit.cpp:1245
+#: ../src/object-edit.cpp:1231
 msgid ""
 "Roll/unroll the spiral from <b>inside</b>; with <b>Ctrl</b> to snap angle; "
 "with <b>Alt</b> to converge/diverge"
@@ -7319,7 +7734,7 @@ msgstr ""
 "Enrolar/Desenrolar a espiral do <b>interior</b>; com <b>Ctrl</b> para "
 "ajustar o ângulo; com <b>Alt</b> para convergir/divergir"
 
-#: ../src/object-edit.cpp:1248
+#: ../src/object-edit.cpp:1234
 msgid ""
 "Roll/unroll the spiral from <b>outside</b>; with <b>Ctrl</b> to snap angle; "
 "with <b>Shift</b> to scale/rotate"
@@ -7327,125 +7742,125 @@ msgstr ""
 "Enrolar/Desenrolar a espiral do <b>exterior</b>; com <b>Ctrl</b> para "
 "ajustar o ângulo; com <b>Shift</b> para dimensionar/girar"
 
-#: ../src/object-edit.cpp:1292
+#: ../src/object-edit.cpp:1278
 msgid "Adjust the <b>offset distance</b>"
 msgstr "Ajustar a <b>distância de compensação</b>"
 
-#: ../src/object-edit.cpp:1327
+#: ../src/object-edit.cpp:1314
 msgid "Drag to resize the <b>flowed text frame</b>"
 msgstr "Arraste para redimensionar a <b>caixa de texto flutuante</b>"
 
-#: ../src/path-chemistry.cpp:63
+#: ../src/path-chemistry.cpp:60
 msgid "Select <b>at least two objects</b> to combine."
 msgstr "Selecione <b>pelo menos dois objetos</b> para combinar."
 
-#: ../src/path-chemistry.cpp:67
+#: ../src/path-chemistry.cpp:64
 msgid "Combining paths..."
 msgstr "Combinando caminhos..."
 
-#: ../src/path-chemistry.cpp:169
+#: ../src/path-chemistry.cpp:166
 msgid "Combine"
 msgstr "Combinar"
 
-#: ../src/path-chemistry.cpp:176
+#: ../src/path-chemistry.cpp:173
 #, fuzzy
 msgid "<b>No path(s)</b> to combine in the selection."
 msgstr "<b>Nenhum caminho</b> para simplificar na seleção."
 
-#: ../src/path-chemistry.cpp:190
+#: ../src/path-chemistry.cpp:185
 msgid "Select <b>path(s)</b> to break apart."
 msgstr "Selecione o(s) <b>caminho(s)</b> para separar."
 
-#: ../src/path-chemistry.cpp:194
+#: ../src/path-chemistry.cpp:189
 msgid "Breaking apart paths..."
 msgstr "Quebrar caminhos..."
 
-#: ../src/path-chemistry.cpp:280
+#: ../src/path-chemistry.cpp:275
 msgid "Break apart"
 msgstr "Separar"
 
-#: ../src/path-chemistry.cpp:282
+#: ../src/path-chemistry.cpp:277
 msgid "<b>No path(s)</b> to break apart in the selection."
 msgstr "<b>Nenhum caminho</b> para separar na seleção."
 
-#: ../src/path-chemistry.cpp:306
+#: ../src/path-chemistry.cpp:295
 msgid "Select <b>object(s)</b> to convert to path."
 msgstr "Selecione o(s) <b>objeto(s)</b> para converter para caminho."
 
-#: ../src/path-chemistry.cpp:312
+#: ../src/path-chemistry.cpp:301
 msgid "Converting objects to paths..."
 msgstr "Convertendo objetos em caminhos..."
 
-#: ../src/path-chemistry.cpp:334
+#: ../src/path-chemistry.cpp:323
 msgid "Object to path"
 msgstr "Objeto para Caminho"
 
-#: ../src/path-chemistry.cpp:336
+#: ../src/path-chemistry.cpp:325
 msgid "<b>No objects</b> to convert to path in the selection."
 msgstr "<b>Nenhum objeto</b> para converter para um caminho na seleção."
 
-#: ../src/path-chemistry.cpp:487
+#: ../src/path-chemistry.cpp:489
 msgid "Select <b>path(s)</b> to reverse."
 msgstr "Selecione <b>um ou mais caminhos</b> para reverter."
 
-#: ../src/path-chemistry.cpp:496
+#: ../src/path-chemistry.cpp:498
 msgid "Reversing paths..."
 msgstr "Revertendo caminhos..."
 
-#: ../src/path-chemistry.cpp:523
+#: ../src/path-chemistry.cpp:525
 msgid "Reverse path"
 msgstr "Reverter caminho"
 
-#: ../src/path-chemistry.cpp:525
+#: ../src/path-chemistry.cpp:527
 msgid "<b>No paths</b> to reverse in the selection."
 msgstr "<b>Nenhum caminho</b> para reverter na seleção."
 
-#: ../src/pencil-context.cpp:239 ../src/pen-context.cpp:441
+#: ../src/pencil-context.cpp:250 ../src/pen-context.cpp:483
 msgid "Continuing selected path"
 msgstr "Continuando o caminho selecionado"
 
-#: ../src/pencil-context.cpp:248 ../src/pen-context.cpp:451
+#: ../src/pencil-context.cpp:259 ../src/pen-context.cpp:493
 msgid "Creating new path"
 msgstr "Criando novo caminho"
 
-#: ../src/pencil-context.cpp:253 ../src/pen-context.cpp:453
+#: ../src/pencil-context.cpp:264 ../src/pen-context.cpp:495
 msgid "Appending to selected path"
 msgstr "Acrescentando ao caminho selecionado"
 
-#: ../src/pencil-context.cpp:336
+#: ../src/pencil-context.cpp:362
 msgid "<b>Release</b> here to close and finish the path."
 msgstr "<b>Solte</b> aqui para fechar e terminar o caminho."
 
-#: ../src/pencil-context.cpp:342
+#: ../src/pencil-context.cpp:368
 msgid "Drawing a freehand path"
 msgstr "Desenhar caminhos à mão-livre"
 
-#: ../src/pencil-context.cpp:347
+#: ../src/pencil-context.cpp:373
 msgid "<b>Drag</b> to continue the path from this point."
 msgstr "<b>Arraste</b> para continuar o caminho a partir deste ponto."
 
 #. Write curves to object
-#: ../src/pencil-context.cpp:409
+#: ../src/pencil-context.cpp:435
 msgid "Finishing freehand"
 msgstr "Finalizando mão-livre"
 
-#: ../src/pencil-context.cpp:460 ../src/pen-context.cpp:237
+#: ../src/pencil-context.cpp:486 ../src/pen-context.cpp:252
 msgid "Drawing cancelled"
 msgstr "Desenho cancelado"
 
-#: ../src/pen-context.cpp:620
+#: ../src/pen-context.cpp:655
 msgid "<b>Click</b> or <b>click and drag</b> to close and finish the path."
 msgstr ""
 "<b>Clique</b> ou <b>clique e arraste</b> para fechar e terminar o caminho."
 
-#: ../src/pen-context.cpp:630
+#: ../src/pen-context.cpp:665
 msgid ""
 "<b>Click</b> or <b>click and drag</b> to continue the path from this point."
 msgstr ""
 "<b>Clique</b> ou <b>clique e arraste</b> para continuar o caminho a partir "
 "deste ponto."
 
-#: ../src/pen-context.cpp:1177
+#: ../src/pen-context.cpp:1256
 #, fuzzy, c-format
 msgid ""
 "<b>Curve segment</b>: angle %3.2f&#176;, distance %s; with <b>Ctrl</b> to "
@@ -7454,7 +7869,7 @@ msgstr ""
 "<b>%s</b>: ângulo %3.2f&#176;, distância %s; com <b>Ctrl</b> para ajustar o "
 "ângulo, <b>Enter</b> para terminar o caminho."
 
-#: ../src/pen-context.cpp:1178
+#: ../src/pen-context.cpp:1257
 #, fuzzy, c-format
 msgid ""
 "<b>Line segment</b>: angle %3.2f&#176;, distance %s; with <b>Ctrl</b> to "
@@ -7463,7 +7878,7 @@ msgstr ""
 "<b>%s</b>: ângulo %3.2f&#176;, distância %s; com <b>Ctrl</b> para ajustar o "
 "ângulo, <b>Enter</b> para terminar o caminho."
 
-#: ../src/pen-context.cpp:1196
+#: ../src/pen-context.cpp:1275
 #, c-format
 msgid ""
 "<b>Curve handle</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</b> to snap "
@@ -7472,7 +7887,7 @@ msgstr ""
 "<b>Alça da curva</b>: ângulo %3.2f&#176;, comprimento %s; com <b>Ctrl</b> "
 "para ajustar o ângulo."
 
-#: ../src/pen-context.cpp:1218
+#: ../src/pen-context.cpp:1297
 #, fuzzy, c-format
 msgid ""
 "<b>Curve handle, symmetric</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</"
@@ -7481,7 +7896,7 @@ msgstr ""
 "<b>%s</b>: ângulo %3.2f&#176;, comprimento %s; com <b>Ctrl</b> para ajustar "
 "o ângulo, com <b>Shift</b> somente para mover esta alça."
 
-#: ../src/pen-context.cpp:1219
+#: ../src/pen-context.cpp:1298
 #, fuzzy, c-format
 msgid ""
 "<b>Curve handle</b>: angle %3.2f&#176;, length %s; with <b>Ctrl</b> to snap "
@@ -7490,7 +7905,7 @@ msgstr ""
 "<b>%s</b>: ângulo %3.2f&#176;, comprimento %s; com <b>Ctrl</b> para ajustar "
 "o ângulo, com <b>Shift</b> somente para mover esta alça."
 
-#: ../src/pen-context.cpp:1259
+#: ../src/pen-context.cpp:1345
 msgid "Drawing finished"
 msgstr "Desenho concluído"
 
@@ -7502,30 +7917,81 @@ msgstr ""
 msgid "Toggle multiple vanishing points"
 msgstr ""
 
-#: ../src/preferences.cpp:59
-#, c-format
+#: ../src/preferences.cpp:74
+#, fuzzy
 msgid ""
-"%s is not a valid preferences file.\n"
+"Inkscape will run with default settings, and new settings will not be saved. "
+msgstr ""
+"O Inkscape funcionará com as configurações padrão.\n"
+"Novas configurações não serão salvas."
+
+#. the creation failed
+#. _errorDialog(Glib::ustring::compose(_("Cannot create profile directory %1."),
+#. Glib::filename_to_utf8(_prefs_dir)), not_saved);
+#: ../src/preferences.cpp:89
+#, fuzzy, c-format
+msgid "Cannot create profile directory %s."
+msgstr ""
+"Não foi possível criar a pasta %s.\n"
 "%s"
+
+#. 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
+#, fuzzy, c-format
+msgid "%s is not a valid directory."
 msgstr ""
-"%s não é um arquivo de configurações válido.\n"
+"%s não é uma pasta válida.\n"
 "%s"
 
-#: ../src/preferences.cpp:60
-msgid ""
-"Inkscape will run with default settings.\n"
-"New settings will not be saved."
+#. 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
+#, fuzzy, c-format
+msgid "Failed to create the preferences file %s."
+msgstr "Falha ao carregar o arquivo %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
+#, fuzzy, c-format
+msgid "The preferences file %s is not a regular file."
 msgstr ""
-"O Inkscape funcionará com as configurações padrão.\n"
-"Novas configurações não serão salvas."
+"%s não é um arquivo comum.\n"
+"%s"
+
+#. _errorDialog(Glib::ustring::compose(_("The preferences file %1 could not be read."),
+#. Glib::filename_to_utf8(_prefs_filename)), not_saved);
+#: ../src/preferences.cpp:148
+#, fuzzy, c-format
+msgid "The preferences file %s could not be read."
+msgstr "O arquivo %s não pode ser salvo."
 
-#: ../src/rect-context.cpp:382
+#. _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 ""
+
+#. _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
+#, fuzzy, c-format
+msgid "The file %s is not a valid Inkscape preferences file."
+msgstr ""
+"%s não é um arquivo de configurações válido.\n"
+"%s"
+
+#: ../src/rect-context.cpp:383
 msgid ""
 "<b>Ctrl</b>: make square or integer-ratio rect, lock a rounded corner "
 "circular"
 msgstr "<b>Ctrl</b>: faz o quadrado ou retângulo travar um canto arredondado"
 
-#: ../src/rect-context.cpp:536
+#: ../src/rect-context.cpp:524
 #, c-format
 msgid ""
 "<b>Rectangle</b>: %s &#215; %s (constrained to ratio %d:%d); with <b>Shift</"
@@ -7534,7 +8000,7 @@ msgstr ""
 "<b>Retângulo</b>: %s &#215; %s (restrito à razão %d:%d); <b>Shift</b> para "
 "desenhar ao redor do ponto inicial"
 
-#: ../src/rect-context.cpp:539
+#: ../src/rect-context.cpp:527
 #, c-format
 msgid ""
 "<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1.618 : 1); with "
@@ -7543,7 +8009,7 @@ msgstr ""
 "<b>Retângulo</b>: %s &#215; %s (restrito à razão 1.618 : 1); <b>Shift</b> "
 "para desenhar ao redor do ponto inicial"
 
-#: ../src/rect-context.cpp:541
+#: ../src/rect-context.cpp:529
 #, c-format
 msgid ""
 "<b>Rectangle</b>: %s &#215; %s (constrained to golden ratio 1 : 1.618); with "
@@ -7552,7 +8018,7 @@ msgstr ""
 "<b>Retângulo</b>: %s &#215; %s (restrito à razão 1 : 1.618); <b>Shift</b> "
 "para desenhar ao redor do ponto inicial"
 
-#: ../src/rect-context.cpp:545
+#: ../src/rect-context.cpp:533
 #, c-format
 msgid ""
 "<b>Rectangle</b>: %s &#215; %s; with <b>Ctrl</b> to make square or integer-"
@@ -7561,7 +8027,7 @@ msgstr ""
 "<b>Retângulo</b>: %s &#215; %s; com <b>Ctrl</b> para fazer um quadrado ou "
 "retângulo; <b>Shift</b> para desenhar ao redor do ponto inicial"
 
-#: ../src/rect-context.cpp:566
+#: ../src/rect-context.cpp:554
 msgid "Create rectangle"
 msgstr "Criar retângulo"
 
@@ -7612,53 +8078,53 @@ msgstr ""
 msgid "Selected object is not a group. Cannot enter."
 msgstr "O objeto selecionado não é um grupo. Não pode entrar."
 
-#: ../src/selection-chemistry.cpp:194
+#: ../src/selection-chemistry.cpp:195
 msgid "Delete text"
 msgstr "Apagar texto"
 
-#: ../src/selection-chemistry.cpp:202
+#: ../src/selection-chemistry.cpp:203
 msgid "<b>Nothing</b> was deleted."
 msgstr "<b>Nada</b> foi apagado."
 
-#: ../src/selection-chemistry.cpp:220 ../src/text-context.cpp:995
-#: ../src/widgets/toolbox.cpp:1090 ../src/widgets/toolbox.cpp:4335
+#: ../src/selection-chemistry.cpp:221 ../src/text-context.cpp:1012
+#: ../src/widgets/toolbox.cpp:1280 ../src/widgets/toolbox.cpp:5281
 msgid "Delete"
 msgstr "Apagar"
 
-#: ../src/selection-chemistry.cpp:235
+#: ../src/selection-chemistry.cpp:249
 msgid "Select <b>object(s)</b> to duplicate."
 msgstr "Selecione <b>alguns objetos</b> para duplicar."
 
-#: ../src/selection-chemistry.cpp:285
+#: ../src/selection-chemistry.cpp:339
 msgid "Delete all"
 msgstr "Apagar tudo"
 
-#: ../src/selection-chemistry.cpp:409
+#: ../src/selection-chemistry.cpp:462
 msgid "Select <b>some objects</b> to group."
 msgstr "Selecione <b>dois ou mais objetos</b> para agrupar."
 
-#: ../src/selection-chemistry.cpp:482 ../src/selection-describer.cpp:51
+#: ../src/selection-chemistry.cpp:535 ../src/selection-describer.cpp:51
 msgid "Group"
 msgstr "Agrupar"
 
-#: ../src/selection-chemistry.cpp:497
+#: ../src/selection-chemistry.cpp:549
 msgid "Select a <b>group</b> to ungroup."
 msgstr "Selecione um <b>grupo</b> para desagrupar."
 
-#: ../src/selection-chemistry.cpp:538
+#: ../src/selection-chemistry.cpp:590
 msgid "<b>No groups</b> to ungroup in the selection."
 msgstr "<b>Nenhum grupo</b> para desagrupar na seleção."
 
-#: ../src/selection-chemistry.cpp:544 ../src/sp-item-group.cpp:488
+#: ../src/selection-chemistry.cpp:596 ../src/sp-item-group.cpp:498
 msgid "Ungroup"
 msgstr "Desagrupar"
 
-#: ../src/selection-chemistry.cpp:605
+#: ../src/selection-chemistry.cpp:656
 msgid "Select <b>object(s)</b> to raise."
 msgstr "Selecione <b>alguns objetos</b> para levantar."
 
-#: ../src/selection-chemistry.cpp:611 ../src/selection-chemistry.cpp:672
-#: ../src/selection-chemistry.cpp:707 ../src/selection-chemistry.cpp:772
+#: ../src/selection-chemistry.cpp:662 ../src/selection-chemistry.cpp:722
+#: ../src/selection-chemistry.cpp:756 ../src/selection-chemistry.cpp:820
 msgid ""
 "You cannot raise/lower objects from <b>different groups</b> or <b>layers</b>."
 msgstr ""
@@ -7666,184 +8132,205 @@ msgstr ""
 "b>."
 
 #. TRANSLATORS: Only put the word "Raise" in the translation. Means "to raise an object" in the undo history
-#: ../src/selection-chemistry.cpp:651
+#: ../src/selection-chemistry.cpp:702
 #, fuzzy
 msgid "undo_action|Raise"
 msgstr "Funções"
 
-#: ../src/selection-chemistry.cpp:664
+#: ../src/selection-chemistry.cpp:714
 msgid "Select <b>object(s)</b> to raise to top."
 msgstr "Selecione <b>alguns objetos</b> para levantar até o topo."
 
-#: ../src/selection-chemistry.cpp:687
+#: ../src/selection-chemistry.cpp:737
 msgid "Raise to top"
 msgstr "Levantar até o Topo"
 
-#: ../src/selection-chemistry.cpp:701
+#: ../src/selection-chemistry.cpp:750
 msgid "Select <b>object(s)</b> to lower."
 msgstr "Selecione <b>alguns objetos</b> para abaixar."
 
-#: ../src/selection-chemistry.cpp:751
+#: ../src/selection-chemistry.cpp:800
 msgid "Lower"
 msgstr "Abai_xar"
 
-#: ../src/selection-chemistry.cpp:764
+#: ../src/selection-chemistry.cpp:812
 msgid "Select <b>object(s)</b> to lower to bottom."
 msgstr "Selecione <b>alguns objetos</b> para abaixar até o fundo."
 
-#: ../src/selection-chemistry.cpp:799
+#: ../src/selection-chemistry.cpp:847
 msgid "Lower to bottom"
 msgstr "A_baixar até o Fundo"
 
-#: ../src/selection-chemistry.cpp:806
+#: ../src/selection-chemistry.cpp:854
 msgid "Nothing to undo."
 msgstr "Nada a desfazer."
 
-#: ../src/selection-chemistry.cpp:813
+#: ../src/selection-chemistry.cpp:861
 msgid "Nothing to redo."
 msgstr "Nada a refazer."
 
-#: ../src/selection-chemistry.cpp:873
+#: ../src/selection-chemistry.cpp:921
 msgid "Paste"
 msgstr "Colar"
 
-#: ../src/selection-chemistry.cpp:880
+#: ../src/selection-chemistry.cpp:928
 msgid "Paste style"
 msgstr "Colar estilo"
 
-#: ../src/selection-chemistry.cpp:889
+#: ../src/selection-chemistry.cpp:937
 msgid "Paste live path effect"
 msgstr "Colar efeito de caminho ao vivo"
 
-#: ../src/selection-chemistry.cpp:909
+#: ../src/selection-chemistry.cpp:956
 #, fuzzy
 msgid "Select <b>object(s)</b> to remove live path effects from."
 msgstr "Selecione <b>objeto(s)</b> para colar caminhos de efeito ao vivo."
 
-#: ../src/selection-chemistry.cpp:921
+#: ../src/selection-chemistry.cpp:968
 #, fuzzy
 msgid "Remove live path effect"
 msgstr "Remover efeito de caminho"
 
-#: ../src/selection-chemistry.cpp:933
+#: ../src/selection-chemistry.cpp:979
 #, fuzzy
 msgid "Select <b>object(s)</b> to remove filters from."
 msgstr "Selecione <b>texto(s)</b> para remover kerns."
 
-#: ../src/selection-chemistry.cpp:943
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1363
+#: ../src/selection-chemistry.cpp:989
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1367
 msgid "Remove filter"
 msgstr "Remover filtro"
 
-#: ../src/selection-chemistry.cpp:952
+#: ../src/selection-chemistry.cpp:998
 msgid "Paste size"
 msgstr "Colar tamanho"
 
-#: ../src/selection-chemistry.cpp:960
+#: ../src/selection-chemistry.cpp:1006
 msgid "Paste size separately"
 msgstr "Colar tamanho separadamente"
 
-#: ../src/selection-chemistry.cpp:971
+#: ../src/selection-chemistry.cpp:1015
 msgid "Select <b>object(s)</b> to move to the layer above."
 msgstr "Selecione <b>objeto(s)</b> para mover para a camada acima."
 
-#: ../src/selection-chemistry.cpp:996
+#: ../src/selection-chemistry.cpp:1041
 msgid "Raise to next layer"
 msgstr "Mover para a próxima camada"
 
-#: ../src/selection-chemistry.cpp:1002
+#: ../src/selection-chemistry.cpp:1048
 msgid "No more layers above."
 msgstr "Não há mais camadas acima."
 
-#: ../src/selection-chemistry.cpp:1016
+#: ../src/selection-chemistry.cpp:1060
 msgid "Select <b>object(s)</b> to move to the layer below."
 msgstr "Selecione <b>objeto(s)</b> para mover para a camada abaixo."
 
-#: ../src/selection-chemistry.cpp:1041
+#: ../src/selection-chemistry.cpp:1086
 msgid "Lower to previous layer"
 msgstr "Mover para a camada anterior"
 
-#: ../src/selection-chemistry.cpp:1047
+#: ../src/selection-chemistry.cpp:1093
 msgid "No more layers below."
 msgstr "Não há mais camadas abaixo."
 
-#: ../src/selection-chemistry.cpp:1234
+#: ../src/selection-chemistry.cpp:1282
 msgid "Remove transform"
 msgstr "Remover transformações"
 
-#: ../src/selection-chemistry.cpp:1343
-msgid "Rotate 90&#176; CW"
-msgstr "Girar 90° (sentido horário)"
-
-#: ../src/selection-chemistry.cpp:1367
+#: ../src/selection-chemistry.cpp:1385
 msgid "Rotate 90&#176; CCW"
 msgstr "Girar 90° (sentido anti-horário)"
 
-#: ../src/selection-chemistry.cpp:1388 ../src/seltrans.cpp:457
+#: ../src/selection-chemistry.cpp:1385
+msgid "Rotate 90&#176; CW"
+msgstr "Girar 90° (sentido horário)"
+
+#: ../src/selection-chemistry.cpp:1406 ../src/seltrans.cpp:458
 #: ../src/ui/dialog/transformation.cpp:757
 msgid "Rotate"
 msgstr "Girar"
 
-#: ../src/selection-chemistry.cpp:1420
+#: ../src/selection-chemistry.cpp:1438
 msgid "Rotate by pixels"
 msgstr "Girar por pixels"
 
-#: ../src/selection-chemistry.cpp:1475
+#: ../src/selection-chemistry.cpp:1493
 msgid "Scale by whole factor"
 msgstr "Escalar por um fator inteiro"
 
-#: ../src/selection-chemistry.cpp:1491
+#: ../src/selection-chemistry.cpp:1508
 msgid "Move vertically"
 msgstr "Mover verticalmente"
 
-#: ../src/selection-chemistry.cpp:1494
+#: ../src/selection-chemistry.cpp:1511
 msgid "Move horizontally"
 msgstr "Mover horizontalmente"
 
-#: ../src/selection-chemistry.cpp:1497 ../src/selection-chemistry.cpp:1525
-#: ../src/seltrans.cpp:451 ../src/ui/dialog/transformation.cpp:680
+#: ../src/selection-chemistry.cpp:1514 ../src/selection-chemistry.cpp:1540
+#: ../src/seltrans.cpp:452 ../src/ui/dialog/transformation.cpp:680
 msgid "Move"
 msgstr "Mover"
 
-#: ../src/selection-chemistry.cpp:1519
+#: ../src/selection-chemistry.cpp:1534
 msgid "Move vertically by pixels"
 msgstr "Mover verticalmente em pixels"
 
-#: ../src/selection-chemistry.cpp:1522
+#: ../src/selection-chemistry.cpp:1537
 msgid "Move horizontally by pixels"
 msgstr "Mover horizontalmente em pixels"
 
-#: ../src/selection-chemistry.cpp:1650
+#: ../src/selection-chemistry.cpp:1665
 msgid "The selection has no applied path effect."
 msgstr "A seleção não possui efeito de caminho aplicado."
 
-#: ../src/selection-chemistry.cpp:1694
+#: ../src/selection-chemistry.cpp:1712
 #, fuzzy
 msgid "The selection has no applied clip path."
 msgstr "A seleção não possui efeito de caminho aplicado."
 
-#: ../src/selection-chemistry.cpp:1696
+#: ../src/selection-chemistry.cpp:1714
 #, fuzzy
 msgid "The selection has no applied mask."
 msgstr "A seleção não possui efeito de caminho aplicado."
 
-#: ../src/selection-chemistry.cpp:1854
+#: ../src/selection-chemistry.cpp:1871
 msgid "action|Clone"
 msgstr "ação|Clone"
 
-#: ../src/selection-chemistry.cpp:1871
-msgid "Select a <b>clone</b> to unlink."
+#: ../src/selection-chemistry.cpp:1887
+#, fuzzy
+msgid "Select <b>clones</b> to relink."
+msgstr "Selecionar um <b>clone</b> para romper a ligação."
+
+#: ../src/selection-chemistry.cpp:1894
+#, fuzzy
+msgid "Copy an <b>object</b> to clipboard to relink clones to."
+msgstr "Selecione um <b>objeto</b> para clonar."
+
+#: ../src/selection-chemistry.cpp:1918
+#, fuzzy
+msgid "<b>No clones to relink</b> in the selection."
+msgstr "<b>Nenhum clone</b> para romper a ligação na seleção."
+
+#: ../src/selection-chemistry.cpp:1921
+#, fuzzy
+msgid "Relink clone"
+msgstr "Desligar clone"
+
+#: ../src/selection-chemistry.cpp:1935
+#, fuzzy
+msgid "Select <b>clones</b> to unlink."
 msgstr "Selecionar um <b>clone</b> para romper a ligação."
 
-#: ../src/selection-chemistry.cpp:1920
+#: ../src/selection-chemistry.cpp:1984
 msgid "<b>No clones to unlink</b> in the selection."
 msgstr "<b>Nenhum clone</b> para romper a ligação na seleção."
 
-#: ../src/selection-chemistry.cpp:1924
+#: ../src/selection-chemistry.cpp:1988
 msgid "Unlink clone"
 msgstr "Desligar clone"
 
-#: ../src/selection-chemistry.cpp:1938
+#: ../src/selection-chemistry.cpp:2001
 msgid ""
 "Select a <b>clone</b> to go to its original. Select a <b>linked offset</b> "
 "to go to its source. Select a <b>text on path</b> to go to the path. Select "
@@ -7854,7 +8341,7 @@ msgstr ""
 "caminho</b> para ir ao caminho. Selecione uma <b>caixa de texto</b> para ir "
 "à sua moldura."
 
-#: ../src/selection-chemistry.cpp:1961
+#: ../src/selection-chemistry.cpp:2024
 msgid ""
 "<b>Cannot find</b> the object to select (orphaned clone, offset, textpath, "
 "flowed text?)"
@@ -7862,7 +8349,7 @@ msgstr ""
 "<b>Não foi encontrado</b> o objeto para selecionar (clone órfão, tipografia "
 "ou caixa de texto?)"
 
-#: ../src/selection-chemistry.cpp:1967
+#: ../src/selection-chemistry.cpp:2030
 msgid ""
 "The object you're trying to select is <b>not visible</b> (it is in &lt;"
 "defs&gt;)"
@@ -7870,96 +8357,105 @@ msgstr ""
 "O objeto que você está tentando selecionar <b>não está visível</b> (está no "
 "&lt;defs&gt;)"
 
-#: ../src/selection-chemistry.cpp:1995
+#: ../src/selection-chemistry.cpp:2076
 msgid "Select <b>object(s)</b> to convert to marker."
 msgstr "Selecione um ou mais <b>objetos</b> para converter em marcador."
 
-#: ../src/selection-chemistry.cpp:2061
+#: ../src/selection-chemistry.cpp:2144
 msgid "Objects to marker"
 msgstr "Objetos para marcador"
 
-#: ../src/selection-chemistry.cpp:2090
+#: ../src/selection-chemistry.cpp:2172
 msgid "Select <b>object(s)</b> to convert to guides."
 msgstr "Selecione um ou mais <b>objetos</b> a serem convertidos em guias."
 
-#: ../src/selection-chemistry.cpp:2101
+#: ../src/selection-chemistry.cpp:2184
 msgid "Objects to guides"
 msgstr "Objetos para guias"
 
-#: ../src/selection-chemistry.cpp:2118
+#: ../src/selection-chemistry.cpp:2200
 msgid "Select <b>object(s)</b> to convert to pattern."
 msgstr "Selecione <b>um ou mais objetos</b> para converter em padrão."
 
-#: ../src/selection-chemistry.cpp:2205
+#: ../src/selection-chemistry.cpp:2288
 msgid "Objects to pattern"
 msgstr "Objeto para padrão"
 
-#: ../src/selection-chemistry.cpp:2222
+#: ../src/selection-chemistry.cpp:2304
 msgid "Select an <b>object with pattern fill</b> to extract objects from."
 msgstr ""
 "Selecione um <b>objeto com padrão de preenchimento</b> para extrair objetos "
 "dele."
 
-#: ../src/selection-chemistry.cpp:2275
+#: ../src/selection-chemistry.cpp:2357
 msgid "<b>No pattern fills</b> in the selection."
 msgstr "<b>Nenhum preenchimento com padrões de preenchimento</b> na seleção."
 
-#: ../src/selection-chemistry.cpp:2278
+#: ../src/selection-chemistry.cpp:2360
 msgid "Pattern to objects"
 msgstr "Padrão para objeto"
 
-#: ../src/selection-chemistry.cpp:2364
+#: ../src/selection-chemistry.cpp:2445
 msgid "Select <b>object(s)</b> to make a bitmap copy."
 msgstr "Selecione alguns objetos para levantar até o topo."
 
-#: ../src/selection-chemistry.cpp:2368
+#: ../src/selection-chemistry.cpp:2449
 #, fuzzy
 msgid "Rendering bitmap..."
 msgstr "Revertendo caminhos..."
 
-#: ../src/selection-chemistry.cpp:2530
+#: ../src/selection-chemistry.cpp:2613
 msgid "Create bitmap"
 msgstr "Criar bitmap"
 
-#: ../src/selection-chemistry.cpp:2563
+#: ../src/selection-chemistry.cpp:2645
 msgid "Select <b>object(s)</b> to create clippath or mask from."
 msgstr ""
 "Selecione o(s) <b>objeto(s)</b> para criar um clippath ou uma máscara a "
 "partir dele(s)."
 
-#: ../src/selection-chemistry.cpp:2566
+#: ../src/selection-chemistry.cpp:2648
 msgid "Select mask object and <b>object(s)</b> to apply clippath or mask to."
 msgstr ""
 "Selecione objeto máscara e <b>o(s) objeto(s)</b> para onde será colado o "
 "estilo."
 
-#: ../src/selection-chemistry.cpp:2672
+#: ../src/selection-chemistry.cpp:2755
 msgid "Set clipping path"
 msgstr "Definir caminho recortado"
 
-#: ../src/selection-chemistry.cpp:2674
+#: ../src/selection-chemistry.cpp:2757
 msgid "Set mask"
 msgstr "Definir máscara"
 
-#: ../src/selection-chemistry.cpp:2688
+#: ../src/selection-chemistry.cpp:2770
 msgid "Select <b>object(s)</b> to remove clippath or mask from."
 msgstr "Selecione o(s) <b>objetos(s)</b> para remover o(s) seu(s) estilo(s)."
 
-#: ../src/selection-chemistry.cpp:2756
+#: ../src/selection-chemistry.cpp:2843
 msgid "Release clipping path"
 msgstr "Soltar caminho recortado"
 
-#: ../src/selection-chemistry.cpp:2758
+#: ../src/selection-chemistry.cpp:2845
 msgid "Release mask"
 msgstr "Reverter máscara"
 
-#: ../src/selection-chemistry.cpp:2769
+#: ../src/selection-chemistry.cpp:2861
 msgid "Select <b>object(s)</b> to fit canvas to."
 msgstr "Selecione <b>objeto(s)</b> para encaixar ao canvas."
 
-#: ../src/selection-chemistry.cpp:2803
-msgid "Fit page to selection"
-msgstr "Ajustar a página à seleção"
+#. Fit Page
+#: ../src/selection-chemistry.cpp:2881 ../src/verbs.cpp:2694
+msgid "Fit Page to Selection"
+msgstr "Ajustar Tela à Seleção"
+
+#: ../src/selection-chemistry.cpp:2906 ../src/verbs.cpp:2696
+msgid "Fit Page to Drawing"
+msgstr "Ajustar Tela ao Desenho"
+
+#: ../src/selection-chemistry.cpp:2922 ../src/verbs.cpp:2698
+msgid "Fit Page to Selection or Drawing"
+msgstr "Ajustar Tela à Seleção ou ao Desenho"
 
 #. TRANSLATORS: only translate and put "Link" in the translation. It means internet link (anchor)
 #: ../src/selection-describer.cpp:43
@@ -7973,7 +8469,8 @@ msgstr "Círculo"
 
 #. ellipse
 #: ../src/selection-describer.cpp:47 ../src/selection-describer.cpp:73
-#: ../src/ui/dialog/inkscape-preferences.cpp:424 ../src/verbs.cpp:2425
+#: ../src/ui/dialog/inkscape-preferences.cpp:434 ../src/verbs.cpp:2485
+#: ../src/widgets/toolbox.cpp:3413
 msgid "Ellipse"
 msgstr "Elipse"
 
@@ -7989,7 +8486,7 @@ msgstr "Linha"
 msgid "Path"
 msgstr "Caminho"
 
-#: ../src/selection-describer.cpp:59 ../src/widgets/toolbox.cpp:2028
+#: ../src/selection-describer.cpp:59 ../src/widgets/toolbox.cpp:2247
 msgid "Polygon"
 msgstr "Polígono"
 
@@ -7999,13 +8496,13 @@ msgstr "<b>Multilinha</b>"
 
 #. Rectangle
 #: ../src/selection-describer.cpp:63
-#: ../src/ui/dialog/inkscape-preferences.cpp:414 ../src/verbs.cpp:2421
+#: ../src/ui/dialog/inkscape-preferences.cpp:424 ../src/verbs.cpp:2481
 msgid "Rectangle"
 msgstr "Retângulo"
 
 #. 3D box
 #: ../src/selection-describer.cpp:65
-#: ../src/ui/dialog/inkscape-preferences.cpp:419 ../src/verbs.cpp:2423
+#: ../src/ui/dialog/inkscape-preferences.cpp:429 ../src/verbs.cpp:2483
 msgid "3D Box"
 msgstr "Caixa 3D"
 
@@ -8019,86 +8516,86 @@ msgstr "Tipografia"
 
 #. spiral
 #: ../src/selection-describer.cpp:77
-#: ../src/ui/dialog/inkscape-preferences.cpp:432 ../src/verbs.cpp:2429
+#: ../src/ui/dialog/inkscape-preferences.cpp:442 ../src/verbs.cpp:2489
 msgid "Spiral"
 msgstr "Espiral"
 
 #. star
 #: ../src/selection-describer.cpp:79
-#: ../src/ui/dialog/inkscape-preferences.cpp:428 ../src/verbs.cpp:2427
-#: ../src/widgets/toolbox.cpp:2035
+#: ../src/ui/dialog/inkscape-preferences.cpp:438 ../src/verbs.cpp:2487
+#: ../src/widgets/toolbox.cpp:2254
 msgid "Star"
 msgstr "Estrela"
 
-#: ../src/selection-describer.cpp:107
+#: ../src/selection-describer.cpp:115
 msgid "Click selection to toggle scale/rotation handles"
 msgstr "Clique na seleção para trocar as alças ampliar/girar"
 
 #. 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 ""
 "Nenhum objeto selecionado. Clique, Shift+clique, ou arraste ao redor dos "
 "objetos para selecionar."
 
-#: ../src/selection-describer.cpp:118
+#: ../src/selection-describer.cpp:126
 msgid "root"
 msgstr "raiz"
 
-#: ../src/selection-describer.cpp:130
+#: ../src/selection-describer.cpp:138
 #, c-format
 msgid "layer <b>%s</b>"
 msgstr "na camada <b>%s</b>"
 
-#: ../src/selection-describer.cpp:132
+#: ../src/selection-describer.cpp:140
 #, c-format
 msgid "layer <b><i>%s</i></b>"
 msgstr "na camada <b><i>%s</i></b>"
 
-#: ../src/selection-describer.cpp:141
+#: ../src/selection-describer.cpp:149
 #, c-format
 msgid "<i>%s</i>"
 msgstr "<i>%s</i>"
 
-#: ../src/selection-describer.cpp:150
+#: ../src/selection-describer.cpp:158
 #, c-format
 msgid " in %s"
 msgstr "·em·%s"
 
-#: ../src/selection-describer.cpp:152
+#: ../src/selection-describer.cpp:160
 #, c-format
 msgid " in group %s (%s)"
 msgstr "no grupo %s (%s)"
 
-#: ../src/selection-describer.cpp:154
+#: ../src/selection-describer.cpp:162
 #, c-format
 msgid " in <b>%i</b> parents (%s)"
 msgid_plural " in <b>%i</b> parents (%s)"
 msgstr[0] "em <b>%i</b> na camada pai (%s)"
 msgstr[1] "em <b>%i</b> nas camadas-pai (%s)"
 
-#: ../src/selection-describer.cpp:157
+#: ../src/selection-describer.cpp:165
 #, c-format
 msgid " in <b>%i</b> layers"
 msgid_plural " in <b>%i</b> layers"
 msgstr[0] "em <b>%i</b> camada"
 msgstr[1] "em <b>%i</b> camadas"
 
-#: ../src/selection-describer.cpp:167
+#: ../src/selection-describer.cpp:175
 msgid "Use <b>Shift+D</b> to look up original"
 msgstr "Use <b>Shift+D</b> para procurar original"
 
-#: ../src/selection-describer.cpp:171
+#: ../src/selection-describer.cpp:179
 msgid "Use <b>Shift+D</b> to look up path"
 msgstr "Use <b>Shift+D</b> para procurar caminho"
 
-#: ../src/selection-describer.cpp:175
+#: ../src/selection-describer.cpp:183
 msgid "Use <b>Shift+D</b> to look up frame"
 msgstr "Use <b>Shift+D</b> para procurar quadro"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:190
+#: ../src/selection-describer.cpp:198 ../src/tweak-context.cpp:200
 #, c-format
 msgid "<b>%i</b> object selected"
 msgid_plural "<b>%i</b> objects selected"
@@ -8106,7 +8603,7 @@ msgstr[0] "<b>%i</b> objeto selecionado"
 msgstr[1] "<b>%i</b> objetos selecionados"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:195
+#: ../src/selection-describer.cpp:203
 #, c-format
 msgid "<b>%i</b> object of type <b>%s</b>"
 msgid_plural "<b>%i</b> objects of type <b>%s</b>"
@@ -8114,7 +8611,7 @@ msgstr[0] "<b>%i</b> objeto do tipo <b>%s</b>"
 msgstr[1] "<b>%i</b> objetos do tipo <b>%s</b>"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:200
+#: ../src/selection-describer.cpp:208
 #, c-format
 msgid "<b>%i</b> object of types <b>%s</b>, <b>%s</b>"
 msgid_plural "<b>%i</b> objects of types <b>%s</b>, <b>%s</b>"
@@ -8122,7 +8619,7 @@ msgstr[0] "<b>%i</b> objeto dos tipos <b>%s</b>, <b>%s</b>"
 msgstr[1] "<b>%i</b> objetos dos tipos <b>%s</b>, <b>%s</b>"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:205
+#: ../src/selection-describer.cpp:213
 #, c-format
 msgid "<b>%i</b> object of types <b>%s</b>, <b>%s</b>, <b>%s</b>"
 msgid_plural "<b>%i</b> objects of types <b>%s</b>, <b>%s</b>, <b>%s</b>"
@@ -8130,27 +8627,27 @@ msgstr[0] "<b>%i</b> objeto dos tipos <b>%s</b>, <b>%s</b>, <b>%s</b>"
 msgstr[1] "<b>%i</b> objetos dos tipos <b>%s</b>, <b>%s</b>, <b>%s</b>"
 
 #. this is only used with 2 or more objects
-#: ../src/selection-describer.cpp:210
+#: ../src/selection-describer.cpp:218
 #, c-format
 msgid "<b>%i</b> object of <b>%i</b> types"
 msgid_plural "<b>%i</b> objects of <b>%i</b> types"
 msgstr[0] "<b>%i</b> objeto de <b>%i</b> tipos"
 msgstr[1] "<b>%i</b> objetos de <b>%i</b> tipos"
 
-#: ../src/selection-describer.cpp:215
+#: ../src/selection-describer.cpp:223
 #, c-format
 msgid "%s%s. %s."
 msgstr "%s%s.·%s."
 
-#: ../src/seltrans.cpp:460 ../src/ui/dialog/transformation.cpp:815
+#: ../src/seltrans.cpp:461 ../src/ui/dialog/transformation.cpp:815
 msgid "Skew"
 msgstr "Enviesar"
 
-#: ../src/seltrans.cpp:472
+#: ../src/seltrans.cpp:473
 msgid "Set center"
 msgstr "Definir centro"
 
-#: ../src/seltrans.cpp:569
+#: ../src/seltrans.cpp:570
 msgid ""
 "<b>Center</b> of rotation and skewing: drag to reposition; scaling with "
 "Shift also uses this center"
@@ -8158,7 +8655,7 @@ msgstr ""
 "<b>Centro</b> de rotação e inclinação: arraste para reposicionar; "
 "dimensionar com Shift também usa este centro"
 
-#: ../src/seltrans.cpp:596
+#: ../src/seltrans.cpp:597
 msgid ""
 "<b>Squeeze or stretch</b> selection; with <b>Ctrl</b> to scale uniformly; "
 "with <b>Shift</b> to scale around rotation center"
@@ -8167,7 +8664,7 @@ msgstr ""
 "uniformemente; com <b>Shift</b> para dimensionar ao redor do centro de "
 "rotação"
 
-#: ../src/seltrans.cpp:597
+#: ../src/seltrans.cpp:598
 msgid ""
 "<b>Scale</b> selection; with <b>Ctrl</b> to scale uniformly; with <b>Shift</"
 "b> to scale around rotation center"
@@ -8175,7 +8672,7 @@ msgstr ""
 "<b>Dimensionar</b> a seleção; com <b>Ctrl</b> para dimensionar uniformemente;"
 "com <b>Shift</b> para dimensionar ao redor do centro de rotação"
 
-#: ../src/seltrans.cpp:601
+#: ../src/seltrans.cpp:602
 msgid ""
 "<b>Skew</b> selection; with <b>Ctrl</b> to snap angle; with <b>Shift</b> to "
 "skew around the opposite side"
@@ -8183,7 +8680,7 @@ msgstr ""
 "<b>Enviesar</b> a seleção; com <b>Ctrl</b> para ajustar o ângulo; com "
 "<b>Shift</b> para enviesar ao redor do canto oposto"
 
-#: ../src/seltrans.cpp:602
+#: ../src/seltrans.cpp:603
 msgid ""
 "<b>Rotate</b> selection; with <b>Ctrl</b> to snap angle; with <b>Shift</b> "
 "to rotate around the opposite corner"
@@ -8191,11 +8688,11 @@ msgstr ""
 "<b>Girar</b> a seleção; com <b>Ctrl</b> para ajustar o ângulo; com <b>Shift</"
 "b> para girar ao redor do canto oposto"
 
-#: ../src/seltrans.cpp:736
+#: ../src/seltrans.cpp:737
 msgid "Reset center"
 msgstr "Redefinir centro"
 
-#: ../src/seltrans.cpp:980 ../src/seltrans.cpp:1079
+#: ../src/seltrans.cpp:985 ../src/seltrans.cpp:1087
 #, c-format
 msgid "<b>Scale</b>: %0.2f%% x %0.2f%%; with <b>Ctrl</b> to lock ratio"
 msgstr ""
@@ -8204,7 +8701,7 @@ msgstr ""
 
 #. TRANSLATORS: don't modify the first ";"
 #. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1196
+#: ../src/seltrans.cpp:1204
 #, c-format
 msgid "<b>Skew</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
 msgstr ""
@@ -8212,17 +8709,17 @@ msgstr ""
 
 #. TRANSLATORS: don't modify the first ";"
 #. (it will NOT be displayed as ";" - only the second one will be)
-#: ../src/seltrans.cpp:1255
+#: ../src/seltrans.cpp:1263
 #, c-format
 msgid "<b>Rotate</b>: %0.2f&#176;; with <b>Ctrl</b> to snap angle"
 msgstr "<b>Girar</b>: %0.2f#176;; com <b>Ctrl</b> para ajustar o ângulo"
 
-#: ../src/seltrans.cpp:1296
+#: ../src/seltrans.cpp:1306
 #, c-format
 msgid "Move <b>center</b> to %s, %s"
 msgstr "Move o <b>centro</b> para %s, %s"
 
-#: ../src/seltrans.cpp:1457
+#: ../src/seltrans.cpp:1467
 #, c-format
 msgid ""
 "<b>Move</b> by %s, %s; with <b>Ctrl</b> to restrict to horizontal/vertical; "
@@ -8231,7 +8728,7 @@ msgstr ""
 "<b>Mover</b> por %s, %s; com <b>Ctrl</b> para restringir na horizontal/"
 "vertical com <b>Shift</b> para desabilitar o encaixe"
 
-#: ../src/shape-editor.cpp:397
+#: ../src/shape-editor.cpp:474
 msgid "Drag curve"
 msgstr "Arrastar curva"
 
@@ -8244,24 +8741,25 @@ msgstr "<b>Ligar</b> em %s"
 msgid "<b>Link</b> without URI"
 msgstr "<b>Link</b> sem URI"
 
-#: ../src/sp-ellipse.cpp:494 ../src/sp-ellipse.cpp:873
+#: ../src/sp-ellipse.cpp:466 ../src/sp-ellipse.cpp:845
 msgid "<b>Ellipse</b>"
 msgstr "<b>Elipse</b>"
 
-#: ../src/sp-ellipse.cpp:635
+#: ../src/sp-ellipse.cpp:607
 msgid "<b>Circle</b>"
 msgstr "<b>Círculo</b>"
 
-#: ../src/sp-ellipse.cpp:868
+#: ../src/sp-ellipse.cpp:840
 msgid "<b>Segment</b>"
 msgstr "<b>Segmento</b>"
 
-#: ../src/sp-ellipse.cpp:870
+#: ../src/sp-ellipse.cpp:842
 msgid "<b>Arc</b>"
 msgstr "<b>Arco</b>"
 
 #. TRANSLATORS: "Flow region" is an area where text is allowed to flow
-#: ../src/sp-flowregion.cpp:269
+#: ../src/sp-flowregion.cpp:273
+#, c-format
 msgid "Flow region"
 msgstr "Região Fluida"
 
@@ -8269,7 +8767,8 @@ msgstr "Região Fluida"
 #. * 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
+#: ../src/sp-flowregion.cpp:492
+#, c-format
 msgid "Flow excluded region"
 msgstr "Fluir região excluida"
 
@@ -8287,48 +8786,48 @@ msgid_plural "<b>Linked flowed text</b> (%d characters)"
 msgstr[0] "<b>Caixa de texto interligada</b> (%d caractere)"
 msgstr[1] "<b>Caixa de texto interligada</b> (%d caracteres)"
 
-#: ../src/sp-guide.cpp:285
+#: ../src/sp-guide.cpp:287
 msgid "Guides around page"
 msgstr ""
 
-#: ../src/sp-guide.cpp:418
+#: ../src/sp-guide.cpp:420
 #, c-format
 msgid "vertical, at %s"
 msgstr "vertical, em %s"
 
-#: ../src/sp-guide.cpp:421
+#: ../src/sp-guide.cpp:423
 #, c-format
 msgid "horizontal, at %s"
 msgstr "horizontal, em %s"
 
-#: ../src/sp-guide.cpp:426
+#: ../src/sp-guide.cpp:428
 #, c-format
 msgid "at %d degrees, through (%s,%s); <b>Ctrl</b>+click to delete"
 msgstr "Em %d graus, através (%s,%s); <b>Ctrl</b>+clique para excluir"
 
-#: ../src/sp-image.cpp:1098
+#: ../src/sp-image.cpp:1100
 msgid "embedded"
 msgstr "embutido"
 
-#: ../src/sp-image.cpp:1106
+#: ../src/sp-image.cpp:1108
 #, c-format
 msgid "<b>Image with bad reference</b>: %s"
 msgstr "<b>Imagem com referência inválida</b>: %s"
 
-#: ../src/sp-image.cpp:1107
+#: ../src/sp-image.cpp:1109
 #, c-format
 msgid "<b>Image</b> %d &#215; %d: %s"
 msgstr "<b>Imagem</b> %d &#215; %d: %s"
 
-#: ../src/spiral-context.cpp:341
+#: ../src/spiral-context.cpp:344
 msgid "<b>Ctrl</b>: snap angle"
 msgstr "<b>Ctrl</b>: ajusta o ângulo"
 
-#: ../src/spiral-context.cpp:343
+#: ../src/spiral-context.cpp:346
 msgid "<b>Alt</b>: lock spiral radius"
 msgstr "<b>Alt</b>: trava o raio da espiral"
 
-#: ../src/spiral-context.cpp:466
+#: ../src/spiral-context.cpp:471
 #, c-format
 msgid ""
 "<b>Spiral</b>: radius %s, angle %5g&#176;; with <b>Ctrl</b> to snap angle"
@@ -8336,30 +8835,30 @@ msgstr ""
 "<b>Espiral</b>: raio %s, ângulo %5g&#176;;  com <b>Ctrl</b> para ajustar o "
 "ângulo"
 
-#: ../src/spiral-context.cpp:487
+#: ../src/spiral-context.cpp:492
 msgid "Create spiral"
 msgstr "Criar espirais"
 
-#: ../src/sp-item.cpp:959
+#: ../src/sp-item.cpp:1016
 msgid "Object"
 msgstr "Objeto"
 
-#: ../src/sp-item.cpp:976
+#: ../src/sp-item.cpp:1033
 #, c-format
 msgid "%s; <i>clipped</i>"
 msgstr "%s; <i>clipado</i>"
 
-#: ../src/sp-item.cpp:981
+#: ../src/sp-item.cpp:1038
 #, c-format
 msgid "%s; <i>masked</i>"
 msgstr "%s; <i>mascarado</i>"
 
-#: ../src/sp-item.cpp:986
+#: ../src/sp-item.cpp:1043
 #, fuzzy, c-format
 msgid "%s; <i>filtered</i>"
 msgstr "%s; <i>clipado</i>"
 
-#: ../src/sp-item-group.cpp:738
+#: ../src/sp-item-group.cpp:746
 #, c-format
 msgid "<b>Group</b> of <b>%d</b> object"
 msgid_plural "<b>Group</b> of <b>%d</b> objects"
@@ -8370,41 +8869,33 @@ msgstr[1] "<b>Grupos</b> de <b>%d</b> objetos"
 msgid "<b>Line</b>"
 msgstr "<b>Linha</b>"
 
-#: ../src/splivarot.cpp:71 ../src/splivarot.cpp:77
-msgid "Union"
-msgstr "União"
-
-#: ../src/splivarot.cpp:83
+#: ../src/splivarot.cpp:78
 msgid "Intersection"
 msgstr "Intersecção"
 
-#: ../src/splivarot.cpp:89 ../src/splivarot.cpp:95
+#: ../src/splivarot.cpp:84 ../src/splivarot.cpp:90
 msgid "Difference"
 msgstr "Diferença"
 
 #: ../src/splivarot.cpp:101
-msgid "Exclusion"
-msgstr "Exclusão"
-
-#: ../src/splivarot.cpp:106
 msgid "Division"
 msgstr "Divisão"
 
-#: ../src/splivarot.cpp:111
+#: ../src/splivarot.cpp:106
 msgid "Cut path"
 msgstr "Cortar Caminho"
 
-#: ../src/splivarot.cpp:128
+#: ../src/splivarot.cpp:121
 msgid "Select <b>at least 2 paths</b> to perform a boolean operation."
 msgstr ""
 "Selecione <b>pelo menos dois caminhos</b> para fazer uma operação booleana."
 
-#: ../src/splivarot.cpp:132
+#: ../src/splivarot.cpp:125
 msgid "Select <b>at least 1 path</b> to perform a boolean union."
 msgstr ""
 "Selecione <b>pelo menos dois caminhos</b> para fazer uma operação booleana."
 
-#: ../src/splivarot.cpp:138
+#: ../src/splivarot.cpp:131
 msgid ""
 "Select <b>exactly 2 paths</b> to perform difference, XOR, division, or path "
 "cut."
@@ -8412,7 +8903,7 @@ msgstr ""
 "Selecione <b>exatamente dois caminhos</b> para fazer diferença, ou-"
 "exclusivo, divisão ou corte de caminho."
 
-#: ../src/splivarot.cpp:155 ../src/splivarot.cpp:170
+#: ../src/splivarot.cpp:148 ../src/splivarot.cpp:163
 msgid ""
 "Unable to determine the <b>z-order</b> of the objects selected for "
 "difference, XOR, division, or path cut."
@@ -8420,129 +8911,125 @@ msgstr ""
 "Incapaz de determinar a <b>ordem-z</b> dos objetos selecionados para "
 "diferença,ou-exclusivo, divisão ou corte de caminho."
 
-#: ../src/splivarot.cpp:200
+#: ../src/splivarot.cpp:193
 msgid ""
 "One of the objects is <b>not a path</b>, cannot perform boolean operation."
 msgstr ""
 "Um dos objetos <b>não é um caminho</b>, a operação booleana não pode ser "
 "executada."
 
-#: ../src/splivarot.cpp:610
+#: ../src/splivarot.cpp:634
 msgid "Select <b>stroked path(s)</b> to convert stroke to path."
 msgstr "Selecione algum(ns) <b>objeto(s)</b> para converter para um caminho."
 
-#: ../src/splivarot.cpp:894
+#: ../src/splivarot.cpp:949
 msgid "Convert stroke to path"
 msgstr "Converter borda do objeto em caminho"
 
 #. TRANSLATORS: "to outline" means "to convert stroke to path"
-#: ../src/splivarot.cpp:897
+#: ../src/splivarot.cpp:952
 msgid "<b>No stroked paths</b> in the selection."
 msgstr "<b>Nenhum caminho com traço</b> para contornar na seleção."
 
-#: ../src/splivarot.cpp:981
+#: ../src/splivarot.cpp:1033
 msgid "Selected object is <b>not a path</b>, cannot inset/outset."
 msgstr ""
 "O objeto selecionado <b>não é um caminho</b>. Não é possível comprimir/"
 "expandir"
 
-#: ../src/splivarot.cpp:1101 ../src/splivarot.cpp:1170
+#: ../src/splivarot.cpp:1153 ../src/splivarot.cpp:1222
 msgid "Create linked offset"
 msgstr "Criar ligação offset"
 
-#: ../src/splivarot.cpp:1102 ../src/splivarot.cpp:1171
+#: ../src/splivarot.cpp:1154 ../src/splivarot.cpp:1223
 msgid "Create dynamic offset"
 msgstr "Criar um objeto offset dinâmico"
 
-#: ../src/splivarot.cpp:1198
+#: ../src/splivarot.cpp:1248
 msgid "Select <b>path(s)</b> to inset/outset."
 msgstr "Selecione <b>algum caminho</b> para comprimir/expandir"
 
-#: ../src/splivarot.cpp:1416
+#: ../src/splivarot.cpp:1466
 msgid "Outset path"
 msgstr "Caminho para fora"
 
-#: ../src/splivarot.cpp:1416
+#: ../src/splivarot.cpp:1466
 msgid "Inset path"
 msgstr "Caminho para dentro"
 
-#: ../src/splivarot.cpp:1418
+#: ../src/splivarot.cpp:1468
 msgid "<b>No paths</b> to inset/outset in the selection."
 msgstr "<b>Nenhum camimho</b> para comprimir/expandir na seleção"
 
-#: ../src/splivarot.cpp:1579
+#: ../src/splivarot.cpp:1643
 msgid "Simplifying paths (separately):"
 msgstr "Simplificando caminhos (separadamente):"
 
-#: ../src/splivarot.cpp:1581
+#: ../src/splivarot.cpp:1645
 msgid "Simplifying paths:"
 msgstr "Simplificando caminhos:"
 
-#: ../src/splivarot.cpp:1618
+#: ../src/splivarot.cpp:1682
 #, c-format
 msgid "%s <b>%d</b> of <b>%d</b> paths simplified..."
 msgstr "%s <b>%d</b> de <b>%d</b> caminhos simplificados..."
 
-#: ../src/splivarot.cpp:1629
+#: ../src/splivarot.cpp:1693
 #, c-format
 msgid "<b>%d</b> paths simplified."
 msgstr "<b>%d</b> caminhos simplificados."
 
-#: ../src/splivarot.cpp:1645
+#: ../src/splivarot.cpp:1707
 msgid "Select <b>path(s)</b> to simplify."
 msgstr "Selecione <b>algum caminho</b> para simplificar."
 
-#: ../src/splivarot.cpp:1659
+#: ../src/splivarot.cpp:1721
 msgid "Simplify"
 msgstr "Simplificar"
 
-#: ../src/splivarot.cpp:1661
+#: ../src/splivarot.cpp:1723
 msgid "<b>No paths</b> to simplify in the selection."
 msgstr "<b>Nenhum caminho</b> para simplificar na seleção."
 
+#: ../src/sp-lpe-item.cpp:339
+msgid "An exception occurred during execution of the Path Effect."
+msgstr "Uma exceção ocorreu durante a execução de um Efeito de Caminho."
+
 #. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign
-#: ../src/sp-offset.cpp:432
+#: ../src/sp-offset.cpp:426
 #, c-format
 msgid "<b>Linked offset</b>, %s by %f pt"
 msgstr "<b>Deslocação conectada</b>, %s por %f pt"
 
-#: ../src/sp-offset.cpp:433 ../src/sp-offset.cpp:437
+#: ../src/sp-offset.cpp:427 ../src/sp-offset.cpp:431
 msgid "outset"
 msgstr "recuar"
 
-#: ../src/sp-offset.cpp:433 ../src/sp-offset.cpp:437
+#: ../src/sp-offset.cpp:427 ../src/sp-offset.cpp:431
 msgid "inset"
 msgstr "comprimir"
 
 #. TRANSLATORS COMMENT: %s is either "outset" or "inset" depending on sign
-#: ../src/sp-offset.cpp:436
+#: ../src/sp-offset.cpp:430
 #, c-format
 msgid "<b>Dynamic offset</b>, %s by %f pt"
 msgstr "<b>Tipografia dinâmica</b>, %s por %f pt"
 
-#: ../src/sp-path.cpp:135
+#: ../src/sp-path.cpp:137
 #, c-format
 msgid "<b>Path</b> (%i node, path effect)"
 msgid_plural "<b>Path</b> (%i nodes, path effect)"
 msgstr[0] "<b>Caminho</b> (%i nó, efeito de caminho)"
 msgstr[1] "<b>Path</b> (%i nodes, path effect)"
 
-#: ../src/sp-path.cpp:138
+#: ../src/sp-path.cpp:140
 #, c-format
 msgid "<b>Path</b> (%i node)"
 msgid_plural "<b>Path</b> (%i nodes)"
 msgstr[0] "<b>Caminho</b> (%i nós)"
 msgstr[1] "<b>Caminhos</b> (%i nós)"
 
-#: ../src/sp-path.cpp:540
-msgid "Creating single dot"
-msgstr "Criando ponto único"
-
-#: ../src/sp-path.cpp:541
-msgid "Create single dot"
-msgstr "Criar ponto único"
-
-#: ../src/sp-polygon.cpp:235
+#: ../src/sp-polygon.cpp:226
 msgid "<b>Polygon</b>"
 msgstr "<b>Polígono</b>"
 
@@ -8550,7 +9037,7 @@ msgstr "<b>Polígono</b>"
 msgid "<b>Polyline</b>"
 msgstr "<b>MultiLinha</b>"
 
-#: ../src/sp-rect.cpp:226
+#: ../src/sp-rect.cpp:225
 msgid "<b>Rectangle</b>"
 msgstr "<b>Retângulo</b>"
 
@@ -8583,16 +9070,16 @@ msgstr[0] "<b>Grupo</b> de <b>%d</b> objetos"
 msgstr[1] "<b>Grupos</b> de <b>%d</b> objetos"
 
 #. TRANSLATORS: For description of font with no name.
-#: ../src/sp-text.cpp:414
+#: ../src/sp-text.cpp:418
 msgid "&lt;no name found&gt;"
 msgstr "&lt;nenhum nome encontrado&gt;"
 
-#: ../src/sp-text.cpp:420
+#: ../src/sp-text.cpp:424
 #, c-format
 msgid "<b>Text on path</b> (%s, %s)"
 msgstr "<b>Texto no caminho</b> (%s, %s)"
 
-#: ../src/sp-text.cpp:421
+#: ../src/sp-text.cpp:425
 #, c-format
 msgid "<b>Text</b> (%s, %s)"
 msgstr "<b>Texto</b> (%s, %s)"
@@ -8617,24 +9104,24 @@ msgstr ""
 
 #. TRANSLATORS: Used for statusbar description for long <use> 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 "<b>Clone</b> of: %s"
 msgstr "<b>Clone</b> de %s"
 
-#: ../src/sp-use.cpp:330
+#: ../src/sp-use.cpp:339
 msgid "<b>Orphaned clone</b>"
 msgstr "<b>Clone órfão</b>"
 
-#: ../src/star-context.cpp:352
+#: ../src/star-context.cpp:356
 msgid "<b>Ctrl</b>: snap angle; keep rays radial"
 msgstr "<b>Ctrl</b>: ajustar o ângulo; preserva os raios radiais"
 
-#: ../src/star-context.cpp:476
+#: ../src/star-context.cpp:481
 #, c-format
 msgid ""
 "<b>Polygon</b>: radius %s, angle %5g&#176;; with <b>Ctrl</b> to snap angle"
@@ -8642,14 +9129,14 @@ msgstr ""
 "<b>Polígono</b>: raio %s, ângulo %5g&#176;;  com <b>Ctrl</b> para ajustar o "
 "ângulo"
 
-#: ../src/star-context.cpp:477
+#: ../src/star-context.cpp:482
 #, c-format
 msgid "<b>Star</b>: radius %s, angle %5g&#176;; with <b>Ctrl</b> to snap angle"
 msgstr ""
 "<b>Estrela</b>: raio %s, ângulo %5g&#176;;  com <b>Ctrl</b> para ajustar o "
 "ângulo"
 
-#: ../src/star-context.cpp:500
+#: ../src/star-context.cpp:505
 msgid "Create star"
 msgstr "Criar estrela"
 
@@ -8680,7 +9167,7 @@ msgstr ""
 "O(s) texto(s) fluido(s) precisa(am) estar <b>visível(eis)</b> para ser(em) "
 "colocado(s) no caminho."
 
-#: ../src/text-chemistry.cpp:192 ../src/verbs.cpp:2283
+#: ../src/text-chemistry.cpp:192 ../src/verbs.cpp:2339
 msgid "Put text on path"
 msgstr "Colocar texto no caminho"
 
@@ -8692,7 +9179,7 @@ msgstr "Selecione <b>um texto no caminho</b>para removê-lo do caminho."
 msgid "<b>No texts-on-paths</b> in the selection."
 msgstr "<b>Nenhum texto-no-caminho</b> na seleção."
 
-#: ../src/text-chemistry.cpp:229 ../src/verbs.cpp:2285
+#: ../src/text-chemistry.cpp:229 ../src/verbs.cpp:2341
 msgid "Remove text from path"
 msgstr "Remover texto do caminho"
 
@@ -8740,58 +9227,58 @@ msgstr "Converter texto fluido em texto"
 msgid "<b>No flowed text(s)</b> to convert in the selection."
 msgstr "<b>Nenhum texto fluido</b> para converter na seleção."
 
-#: ../src/text-context.cpp:452
+#: ../src/text-context.cpp:460
 msgid "<b>Click</b> to edit the text, <b>drag</b> to select part of the text."
 msgstr ""
 "<b>Clique</b> para editar o texto, <b>arrastar</b> para selecionar parte do "
 "texto."
 
-#: ../src/text-context.cpp:454
+#: ../src/text-context.cpp:462
 msgid ""
 "<b>Click</b> to edit the flowed text, <b>drag</b> to select part of the text."
 msgstr ""
 "<b>Clique</b> para editar o texto fluido, <b>arrastar</b> para selecionar "
 "parte do texto."
 
-#: ../src/text-context.cpp:508
+#: ../src/text-context.cpp:516
 msgid "Create text"
 msgstr "Criar texto"
 
-#: ../src/text-context.cpp:532
+#: ../src/text-context.cpp:540
 msgid "Non-printable character"
 msgstr "Caractere não imprimível"
 
-#: ../src/text-context.cpp:547
+#: ../src/text-context.cpp:555
 msgid "Insert Unicode character"
 msgstr "Inserir caractere Unicode"
 
-#: ../src/text-context.cpp:582
+#: ../src/text-context.cpp:590
 #, c-format
 msgid "Unicode (<b>Enter</b> to finish): %s: %s"
 msgstr "Unicode (<b>Enter</b> para finalizar): %s: %s"
 
-#: ../src/text-context.cpp:584 ../src/text-context.cpp:849
+#: ../src/text-context.cpp:592 ../src/text-context.cpp:866
 msgid "Unicode (<b>Enter</b> to finish): "
 msgstr "Unicode (<b>Enter</b> para finalizar): "
 
-#: ../src/text-context.cpp:659
+#: ../src/text-context.cpp:666
 #, c-format
 msgid "<b>Flowed text frame</b>: %s &#215; %s"
 msgstr "<b>Caixa de texto</b>: %s &#215; %s"
 
-#: ../src/text-context.cpp:691 ../src/text-context.cpp:1544
+#: ../src/text-context.cpp:698 ../src/text-context.cpp:1617
 msgid "Type text; <b>Enter</b> to start new line."
 msgstr "Entre com o texto; Pressione <b>Enter</b> para iniciar uma nova linha."
 
-#: ../src/text-context.cpp:704
+#: ../src/text-context.cpp:711
 msgid "Flowed text is created."
 msgstr "Caixa de texto criada."
 
-#: ../src/text-context.cpp:706
+#: ../src/text-context.cpp:713
 msgid "Create flowed text"
 msgstr "Criar caixa de texto"
 
-#: ../src/text-context.cpp:708
+#: ../src/text-context.cpp:715
 msgid ""
 "The frame is <b>too small</b> for the current font size. Flowed text not "
 "created."
@@ -8799,80 +9286,80 @@ msgstr ""
 "O quadro é <b>muito pequeno</b> para o atual tamanho da fonte. Caixa de "
 "texto não criada."
 
-#: ../src/text-context.cpp:834
+#: ../src/text-context.cpp:851
 msgid "No-break space"
 msgstr "Espaço sem quebras"
 
-#: ../src/text-context.cpp:836
+#: ../src/text-context.cpp:853
 msgid "Insert no-break space"
 msgstr "Inserir espaço sem quebras"
 
-#: ../src/text-context.cpp:873
+#: ../src/text-context.cpp:890
 msgid "Make bold"
 msgstr "Tornar negrito"
 
-#: ../src/text-context.cpp:891
+#: ../src/text-context.cpp:908
 msgid "Make italic"
 msgstr "Tornar itálico"
 
-#: ../src/text-context.cpp:930
+#: ../src/text-context.cpp:947
 msgid "New line"
 msgstr "Nova linha"
 
-#: ../src/text-context.cpp:964
+#: ../src/text-context.cpp:981
 msgid "Backspace"
 msgstr "Backspace"
 
-#: ../src/text-context.cpp:1012
+#: ../src/text-context.cpp:1029
 msgid "Kern to the left"
 msgstr "Ajustar Kern para a esquerda"
 
-#: ../src/text-context.cpp:1034
+#: ../src/text-context.cpp:1054
 msgid "Kern to the right"
 msgstr "Ajustar Kern para a direita"
 
-#: ../src/text-context.cpp:1056
+#: ../src/text-context.cpp:1079
 msgid "Kern up"
 msgstr "Aumentar Kern"
 
-#: ../src/text-context.cpp:1079
+#: ../src/text-context.cpp:1105
 msgid "Kern down"
 msgstr "Diminuir Kern"
 
-#: ../src/text-context.cpp:1135
+#: ../src/text-context.cpp:1182
 msgid "Rotate counterclockwise"
 msgstr "Girar no sentido anti-horário"
 
-#: ../src/text-context.cpp:1156
+#: ../src/text-context.cpp:1203
 msgid "Rotate clockwise"
 msgstr "Girar no sentido horário"
 
-#: ../src/text-context.cpp:1173
+#: ../src/text-context.cpp:1220
 msgid "Contract line spacing"
 msgstr "Diminuir espaçamento entre linhas"
 
-#: ../src/text-context.cpp:1181
+#: ../src/text-context.cpp:1228
 msgid "Contract letter spacing"
 msgstr "Diminuir espaçamento entre letras"
 
-#: ../src/text-context.cpp:1200
+#: ../src/text-context.cpp:1247
 msgid "Expand line spacing"
 msgstr "Aumentar espaçamento entre linhas"
 
-#: ../src/text-context.cpp:1208
+#: ../src/text-context.cpp:1255
 msgid "Expand letter spacing"
 msgstr "Aumentar espaçamento entre letras"
 
-#: ../src/text-context.cpp:1312
+#: ../src/text-context.cpp:1382
 msgid "Paste text"
 msgstr "Colar texto"
 
-#: ../src/text-context.cpp:1542
+#: ../src/text-context.cpp:1615
 msgid "Type flowed text; <b>Enter</b> to start new paragraph."
 msgstr ""
 "Entre com o texto; Pressione <b>Enter</b> para começar um novo parágrafo."
 
-#: ../src/text-context.cpp:1552 ../src/tools-switch.cpp:211
+#: ../src/text-context.cpp:1625 ../src/tools-switch.cpp:214
 msgid ""
 "<b>Click</b> to select or create text, <b>drag</b> to create flowed text; "
 "then type."
@@ -8880,7 +9367,7 @@ msgstr ""
 "<b>Clique</b> para selecionar ou criar um texto, <b>arraste</b> para criar "
 "uma caixa de texto; e então digite."
 
-#: ../src/text-context.cpp:1659
+#: ../src/text-context.cpp:1735
 msgid "Type text"
 msgstr "Digite o texto"
 
@@ -8888,7 +9375,7 @@ msgstr "Digite o texto"
 msgid "You cannot edit <b>cloned character data</b>."
 msgstr ""
 
-#: ../src/tools-switch.cpp:151
+#: ../src/tools-switch.cpp:154
 msgid ""
 "To edit a path, <b>click</b>, <b>Shift+click</b>, or <b>drag around</b> "
 "nodes to select them, then <b>drag</b> nodes and handles. <b>Click</b> on an "
@@ -8898,11 +9385,11 @@ msgstr ""
 "<b>arraste ao redor</b> dos nós para selecioná-los, e daí <b>arraste</b>seus "
 "nós e alças. <b>Clique</b> em um objeto para selecioná-lo."
 
-#: ../src/tools-switch.cpp:157
+#: ../src/tools-switch.cpp:160
 msgid "To tweak a path by pushing, select it and drag over it."
 msgstr "Para ajustar um caminho pela pressão, selecione-o, mova e solte."
 
-#: ../src/tools-switch.cpp:163
+#: ../src/tools-switch.cpp:166
 msgid ""
 "<b>Drag</b> to create a rectangle. <b>Drag controls</b> to round corners and "
 "resize. <b>Click</b> to select."
@@ -8910,7 +9397,7 @@ msgstr ""
 "<b>Arraste</b> para criar um retângulo. <b>Arraste os controles</b> para "
 "arredondar os cantos e redimensionar. <b>Clique</b> para selecioná-lo."
 
-#: ../src/tools-switch.cpp:169
+#: ../src/tools-switch.cpp:172
 msgid ""
 "<b>Drag</b> to create a 3D box. <b>Drag controls</b> to resize in "
 "perspective. <b>Click</b> to select (with <b>Ctrl+Alt</b> for single faces)."
@@ -8919,7 +9406,7 @@ msgstr ""
 "redimensionar em perspectiva. <b>Clique</b> para selecionar (com <b>Ctrl"
 "+Alt</b> para faces únicas)"
 
-#: ../src/tools-switch.cpp:175
+#: ../src/tools-switch.cpp:178
 msgid ""
 "<b>Drag</b> to create an ellipse. <b>Drag controls</b> to make an arc or "
 "segment. <b>Click</b> to select."
@@ -8927,7 +9414,7 @@ msgstr ""
 "<b>Arraste</b> para criar uma elipse. <b>Arraste as alças</b> para fazer um "
 "arco ou segmento. <b>Clique</b> para selecionar."
 
-#: ../src/tools-switch.cpp:181
+#: ../src/tools-switch.cpp:184
 msgid ""
 "<b>Drag</b> to create a star. <b>Drag controls</b> to edit the star shape. "
 "<b>Click</b> to select."
@@ -8935,7 +9422,7 @@ msgstr ""
 "<b>Arraste</b> para criar uma estrela. <b>Arraste as alças</b> para alterar "
 "a forma da estrela. <b>Clique</b> para selecionar."
 
-#: ../src/tools-switch.cpp:187
+#: ../src/tools-switch.cpp:190
 msgid ""
 "<b>Drag</b> to create a spiral. <b>Drag controls</b> to edit the spiral "
 "shape. <b>Click</b> to select."
@@ -8943,7 +9430,7 @@ msgstr ""
 "<b>Arraste</b> para criar uma espiral. <b>Arraste as alças</b> para alterar "
 "a forma da espiral. <b>Clique</b> para selecionar."
 
-#: ../src/tools-switch.cpp:193
+#: ../src/tools-switch.cpp:196
 msgid ""
 "<b>Drag</b> to create a freehand line. Start drawing with <b>Shift</b> to "
 "append to selected path. <b>Ctrl+click</b> to create single dots."
@@ -8952,7 +9439,7 @@ msgstr ""
 "a tecla <b>Shift</b> pressionada para acrescentar ao caminho selecionado. "
 "<b>Ctrl+click</b> para criar pontos únicos."
 
-#: ../src/tools-switch.cpp:199
+#: ../src/tools-switch.cpp:202
 msgid ""
 "<b>Click</b> or <b>click and drag</b> to start a path; with <b>Shift</b> to "
 "append to selected path. <b>Ctrl+click</b> to create single dots."
@@ -8961,17 +9448,17 @@ msgstr ""
 "<b>Shift</b> pressionado para acrescentar ao caminho selecionado. <b>Ctrl"
 "+click</b> para criar pontos únicos."
 
-#: ../src/tools-switch.cpp:205
+#: ../src/tools-switch.cpp:208
+#, fuzzy
 msgid ""
-"<b>Drag</b> to draw a calligraphic stroke; with <b>Ctrl</b> to track a "
-"guide, with <b>Alt</b> to thin/thicken. <b>Arrow keys</b> adjust width (left/"
-"right) and angle (up/down)."
+"<b>Drag</b> to draw a calligraphic stroke; with <b>Ctrl</b> to track a guide "
+"path. <b>Arrow keys</b> adjust width (left/right) and angle (up/down)."
 msgstr ""
 "<b>Arraste</b> para desenhar uma linha caligráfica; com <b>Ctrl</b> para "
 "rastrear uma guia, com <b>Alt</b> para afinar/espessar. <b>As setas</b> "
 "ajustam largura (esquerda/direita) e o ângulo (cima/baixo)."
 
-#: ../src/tools-switch.cpp:217
+#: ../src/tools-switch.cpp:220
 msgid ""
 "<b>Drag</b> or <b>double click</b> to create a gradient on selected objects, "
 "<b>drag handles</b> to adjust gradients."
@@ -8979,7 +9466,7 @@ msgstr ""
 "<b>Arraste</b> ou dê um <b>duplo clique</b> para criar um degradê nos "
 "objetos selecionados, <b>arraste as alças</b> para ajustar degradês"
 
-#: ../src/tools-switch.cpp:223
+#: ../src/tools-switch.cpp:226
 msgid ""
 "<b>Click</b> or <b>drag around an area</b> to zoom in, <b>Shift+click</b> to "
 "zoom out."
@@ -8987,11 +9474,11 @@ msgstr ""
 "<b>Clique</b> ou <b>arraste ao redor de uma área</b> para ampliá-la. Clique "
 "com Shift para reduzi-la."
 
-#: ../src/tools-switch.cpp:235
+#: ../src/tools-switch.cpp:238
 msgid "<b>Click and drag</b> between shapes to create a connector."
 msgstr "<b>Clique e arraste</b> entre as formas para criar um conector."
 
-#: ../src/tools-switch.cpp:241
+#: ../src/tools-switch.cpp:244
 msgid ""
 "<b>Click</b> to paint a bounded area, <b>Shift+click</b> to union the new "
 "fill with the current selection, <b>Ctrl+click</b> to change the clicked "
@@ -9001,11 +9488,15 @@ msgstr ""
 "novo preenchimento à seleção atual, <b>Ctrl+clique</b> para mudar o "
 "preeenchimento e o traço do objeto clicado para as opções atuais."
 
-#: ../src/tools-switch.cpp:247
+#: ../src/tools-switch.cpp:250
 #, fuzzy
 msgid "<b>Drag</b> to erase."
 msgstr "<b>Ligar</b> em %s"
 
+#: ../src/tools-switch.cpp:256
+msgid "Choose a subtool from the toolbar"
+msgstr ""
+
 #: ../src/trace/potrace/inkscape-potrace.cpp:524
 #: ../src/trace/potrace/inkscape-potrace.cpp:598
 #, c-format
@@ -9055,137 +9546,174 @@ msgstr "Traçar bitmap"
 msgid "Trace: Done. %ld nodes created"
 msgstr "Traçado: Terminado. %ld nós criados"
 
-#: ../src/tweak-context.cpp:960
-msgid "<b>Nothing selected!</b> Select objects to tweak."
-msgstr "<b>Nada selecionado!</b> Selecione objetos para ajustes."
+#: ../src/tweak-context.cpp:202
+#, fuzzy, c-format
+msgid "<b>Nothing</b> selected"
+msgstr "<b>Nada</b> foi apagado."
+
+#: ../src/tweak-context.cpp:208
+#, c-format
+msgid "%s. Drag to <b>move</b>."
+msgstr ""
+
+#: ../src/tweak-context.cpp:213
+#, c-format
+msgid "%s. Drag or click to <b>move in</b>; with Shift to <b>move out</b>."
+msgstr ""
+
+#: ../src/tweak-context.cpp:216
+#, c-format
+msgid "%s. Drag or click to <b>move randomly</b>."
+msgstr ""
+
+#: ../src/tweak-context.cpp:219
+#, c-format
+msgid "%s. Drag or click to <b>scale down</b>; with Shift to <b>scale up</b>."
+msgstr ""
 
-#: ../src/tweak-context.cpp:965
+#: ../src/tweak-context.cpp:222
 #, c-format
-msgid "<b>Pushing %d</b> selected object"
-msgid_plural "<b>Pushing %d</b> selected objects"
-msgstr[0] "<b>Empurrando %d</b> objeto selecionado"
-msgstr[1] "<b>Pushing %d</b> selected objects"
+msgid ""
+"%s. Drag or click to <b>rotate clockwise</b>; with Shift, "
+"<b>counterclockwise</b>."
+msgstr ""
+
+#: ../src/tweak-context.cpp:225
+#, c-format
+msgid "%s. Drag or click to <b>duplicate</b>; with Shift, <b>delete</b>."
+msgstr ""
+
+#: ../src/tweak-context.cpp:228
+#, c-format
+msgid "%s. Drag to <b>push paths</b>."
+msgstr ""
 
-#: ../src/tweak-context.cpp:970
+#: ../src/tweak-context.cpp:232
 #, c-format
-msgid "<b>Shrinking %d</b> selected object"
-msgid_plural "<b>Shrinking %d</b> selected objects"
-msgstr[0] "<b>Diminuindo %d</b> objeto selecionado"
-msgstr[1] "<b>Shrinking %d</b> selected objects"
+msgid "%s. Drag or click to <b>inset paths</b>; with Shift to <b>outset</b>."
+msgstr ""
 
-#: ../src/tweak-context.cpp:975
+#: ../src/tweak-context.cpp:240
 #, c-format
-msgid "<b>Growing %d</b> selected object"
-msgid_plural "<b>Growing %d</b> selected objects"
-msgstr[0] "<b>Aumentando %d</b> objeto selecionado"
-msgstr[1] "<b>Aumentando %d</b> objetos selecionados"
+msgid "%s. Drag or click to <b>attract paths</b>; with Shift to <b>repel</b>."
+msgstr ""
 
-#: ../src/tweak-context.cpp:980
+#: ../src/tweak-context.cpp:248
 #, c-format
-msgid "<b>Attracting %d</b> selected object"
-msgid_plural "<b>Attracting %d</b> selected objects"
-msgstr[0] "<b>Atraindo %d</b> objeto selecionado"
-msgstr[1] "<b>Attracting %d</b> selected objects"
+msgid "%s. Drag or click to <b>roughen paths</b>."
+msgstr ""
 
-#: ../src/tweak-context.cpp:985
+#: ../src/tweak-context.cpp:252
 #, c-format
-msgid "<b>Repelling %d</b> selected object"
-msgid_plural "<b>Repelling %d</b> selected objects"
-msgstr[0] "<b>Repelindo %d</b> objeto selecionado"
-msgstr[1] "<b>Repelling %d</b> selected objects"
+msgid "%s. Drag or click to <b>paint objects</b> with color."
+msgstr ""
 
-#: ../src/tweak-context.cpp:990
+#: ../src/tweak-context.cpp:255
 #, c-format
-msgid "<b>Roughening %d</b> selected object"
-msgid_plural "<b>Roughening %d</b> selected objects"
-msgstr[0] "<b>Tornando áspero %d</b> objeto selecionado"
-msgstr[1] "<b>Roughening %d</b> selected objects"
+msgid "%s. Drag or click to <b>randomize colors</b>."
+msgstr ""
+
+#: ../src/tweak-context.cpp:1104
+msgid "<b>Nothing selected!</b> Select objects to tweak."
+msgstr "<b>Nada selecionado!</b> Selecione objetos para ajustes."
+
+#: ../src/tweak-context.cpp:1140
+#, fuzzy
+msgid "Move tweak"
+msgstr "Aumentar ajuste"
+
+#: ../src/tweak-context.cpp:1144
+#, fuzzy
+msgid "Move in/out tweak"
+msgstr "Ajuste de cor de pintura"
+
+#: ../src/tweak-context.cpp:1148
+#, fuzzy
+msgid "Move jitter tweak"
+msgstr "Ajuste de agitação de cor"
+
+#: ../src/tweak-context.cpp:1152
+#, fuzzy
+msgid "Scale tweak"
+msgstr "Ampliar"
 
-#: ../src/tweak-context.cpp:995
-#, c-format
-msgid "<b>Painting %d</b> selected object"
-msgid_plural "<b>Painting %d</b> selected objects"
-msgstr[0] "<b>Pintando %d</b> objeto selecionado"
-msgstr[1] "<b>Painting %d</b> selected objects"
+#: ../src/tweak-context.cpp:1156
+#, fuzzy
+msgid "Rotate tweak"
+msgstr "Ajuste de atração"
 
-#: ../src/tweak-context.cpp:1000
-#, c-format
-msgid "<b>Jittering colors in %d</b> selected object"
-msgid_plural "<b>Jittering colors in %d</b> selected objects"
-msgstr[0] "<b>Cores agitadas em %d</b> objeto selecionado"
-msgstr[1] "<b>Cores agitadas em %d</b> objetos selecionados"
+#: ../src/tweak-context.cpp:1160
+#, fuzzy
+msgid "Duplicate/delete tweak"
+msgstr "Duplicar os objetos selecionados"
 
-#: ../src/tweak-context.cpp:1040
-msgid "Push tweak"
+#: ../src/tweak-context.cpp:1164
+#, fuzzy
+msgid "Push path tweak"
 msgstr "Ajuste empurrar"
 
-#: ../src/tweak-context.cpp:1044
-msgid "Shrink tweak"
+#: ../src/tweak-context.cpp:1168
+#, fuzzy
+msgid "Shrink/grow path tweak"
 msgstr "Encolher ajuste"
 
-#: ../src/tweak-context.cpp:1048
-msgid "Grow tweak"
-msgstr "Aumentar ajuste"
-
-#: ../src/tweak-context.cpp:1052
-msgid "Attract tweak"
+#: ../src/tweak-context.cpp:1172
+#, fuzzy
+msgid "Attract/repel path tweak"
 msgstr "Ajuste de atração"
 
-#: ../src/tweak-context.cpp:1056
-msgid "Repel tweak"
-msgstr "Repelir ajuste"
-
-#: ../src/tweak-context.cpp:1060
-msgid "Roughen tweak"
+#: ../src/tweak-context.cpp:1176
+#, fuzzy
+msgid "Roughen path tweak"
 msgstr "Ajuste áspero"
 
-#: ../src/tweak-context.cpp:1064
+#: ../src/tweak-context.cpp:1180
 msgid "Color paint tweak"
 msgstr "Ajuste de cor de pintura"
 
-#: ../src/tweak-context.cpp:1068
+#: ../src/tweak-context.cpp:1184
 msgid "Color jitter tweak"
 msgstr "Ajuste de agitação de cor"
 
 #. check whether something is selected
-#: ../src/ui/clipboard.cpp:205
+#: ../src/ui/clipboard.cpp:224
 msgid "Nothing was copied."
 msgstr "Nada foi copiado."
 
-#: ../src/ui/clipboard.cpp:266 ../src/ui/clipboard.cpp:428
-#: ../src/ui/clipboard.cpp:452
+#: ../src/ui/clipboard.cpp:285 ../src/ui/clipboard.cpp:481
+#: ../src/ui/clipboard.cpp:505
 msgid "Nothing on the clipboard."
 msgstr "Nada na área de transferência."
 
-#: ../src/ui/clipboard.cpp:288
+#: ../src/ui/clipboard.cpp:341
 msgid "Select <b>object(s)</b> to paste style to."
 msgstr "Selecione <b>os objetos</b> para onde será colado o estilo."
 
-#: ../src/ui/clipboard.cpp:294 ../src/ui/clipboard.cpp:311
+#: ../src/ui/clipboard.cpp:347 ../src/ui/clipboard.cpp:364
 #, fuzzy
 msgid "No style on the clipboard."
 msgstr "Nada na área de transferência."
 
-#: ../src/ui/clipboard.cpp:333
+#: ../src/ui/clipboard.cpp:386
 msgid "Select <b>object(s)</b> to paste size to."
 msgstr "Selecione <b>o(s) objeto(s)</b> para onde será colado o tamanho."
 
-#: ../src/ui/clipboard.cpp:340
+#: ../src/ui/clipboard.cpp:393
 #, fuzzy
 msgid "No size on the clipboard."
 msgstr "Nada na área de transferência."
 
-#: ../src/ui/clipboard.cpp:391
+#: ../src/ui/clipboard.cpp:444
 msgid "Select <b>object(s)</b> to paste live path effect to."
 msgstr "Selecione <b>objeto(s)</b> para colar caminhos de efeito ao vivo."
 
 #. no_effect:
-#: ../src/ui/clipboard.cpp:415
+#: ../src/ui/clipboard.cpp:468
 #, fuzzy
 msgid "No effect on the clipboard."
 msgstr "Nada na área de transferência."
 
-#: ../src/ui/clipboard.cpp:435 ../src/ui/clipboard.cpp:462
+#: ../src/ui/clipboard.cpp:488 ../src/ui/clipboard.cpp:515
 msgid "Clipboard does not contain a path."
 msgstr "A área de transferência não contém um caminho."
 
@@ -9204,42 +9732,42 @@ msgstr "_Selecionar Isto"
 msgid "_Create Link"
 msgstr "_Criar Ligação"
 
-#: ../src/ui/context-menu.cpp:177
+#: ../src/ui/context-menu.cpp:181
 msgid "Create link"
 msgstr "Criar ligação"
 
 #. "Ungroup"
-#: ../src/ui/context-menu.cpp:195 ../src/verbs.cpp:2279
+#: ../src/ui/context-menu.cpp:199 ../src/verbs.cpp:2335
 msgid "_Ungroup"
 msgstr "Desagr_upar"
 
 #. Link dialog
-#: ../src/ui/context-menu.cpp:235
+#: ../src/ui/context-menu.cpp:239
 msgid "Link _Properties"
 msgstr "_Propriedades da Ligação"
 
 #. Select item
-#: ../src/ui/context-menu.cpp:241
+#: ../src/ui/context-menu.cpp:245
 msgid "_Follow Link"
 msgstr "Se_guir Ligação"
 
 #. Reset transformations
-#: ../src/ui/context-menu.cpp:246
+#: ../src/ui/context-menu.cpp:250
 msgid "_Remove Link"
 msgstr "_Remover Ligação"
 
 #. Link dialog
-#: ../src/ui/context-menu.cpp:294
+#: ../src/ui/context-menu.cpp:298
 msgid "Image _Properties"
 msgstr "_Propriedades da Imagem"
 
-#: ../src/ui/context-menu.cpp:300
+#: ../src/ui/context-menu.cpp:304
 #, fuzzy
 msgid "Edit Externally..."
 msgstr "Editar preenchimento..."
 
 #. Item dialog
-#: ../src/ui/context-menu.cpp:392
+#: ../src/ui/context-menu.cpp:397
 msgid "_Fill and Stroke"
 msgstr "_Preenchimento e Traço"
 
@@ -9297,171 +9825,176 @@ msgstr ""
 "Victor Westmann\n"
 "Comunidade InkscapeBrasil.org, 2008."
 
-#: ../src/ui/dialog/align-and-distribute.cpp:234
-#: ../src/ui/dialog/align-and-distribute.cpp:776
+#: ../src/ui/dialog/align-and-distribute.cpp:246
+#: ../src/ui/dialog/align-and-distribute.cpp:788
 msgid "Align"
 msgstr "Alinhar"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:392
-#: ../src/ui/dialog/align-and-distribute.cpp:777
+#: ../src/ui/dialog/align-and-distribute.cpp:404
+#: ../src/ui/dialog/align-and-distribute.cpp:789
 msgid "Distribute"
 msgstr "Distribuir"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:461
+#: ../src/ui/dialog/align-and-distribute.cpp:473
 msgid "Minimum horizontal gap (in px units) between bounding boxes"
 msgstr "Distância horizontal mínima (em px) entre caixas delimitadoras"
 
 #. TRANSLATORS: Horizontal gap. Only put "H:" equivalent in the translation
-#: ../src/ui/dialog/align-and-distribute.cpp:463
+#: ../src/ui/dialog/align-and-distribute.cpp:475
 #, fuzzy
 msgid "gap|H:"
 msgstr "Ponta:"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:471
+#: ../src/ui/dialog/align-and-distribute.cpp:483
 msgid "Minimum vertical gap (in px units) between bounding boxes"
 msgstr "Distância vertical mínima (em px) entre caixas limitadoras"
 
 #. TRANSLATORS: Vertical gap
-#: ../src/ui/dialog/align-and-distribute.cpp:473
+#: ../src/ui/dialog/align-and-distribute.cpp:485
 msgid "V:"
 msgstr "V:"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:501
-#: ../src/ui/dialog/align-and-distribute.cpp:778
-#: ../src/widgets/toolbox.cpp:5626
+#: ../src/ui/dialog/align-and-distribute.cpp:513
+#: ../src/ui/dialog/align-and-distribute.cpp:790
+#: ../src/widgets/toolbox.cpp:6568
 msgid "Remove overlaps"
 msgstr "Remover sobreposições"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:531
-#: ../src/widgets/toolbox.cpp:5484
+#: ../src/ui/dialog/align-and-distribute.cpp:543
+#: ../src/widgets/toolbox.cpp:6433
 msgid "Arrange connector network"
 msgstr "Organizar a rede dos conectores"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:561
+#: ../src/ui/dialog/align-and-distribute.cpp:573
 msgid "Unclump"
 msgstr "Desagrupar "
 
-#: ../src/ui/dialog/align-and-distribute.cpp:631
+#: ../src/ui/dialog/align-and-distribute.cpp:643
 msgid "Randomize positions"
 msgstr "Randomizar posições"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:728
+#: ../src/ui/dialog/align-and-distribute.cpp:740
 msgid "Distribute text baselines"
 msgstr "Distribuir linhas base do texto"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:748
+#: ../src/ui/dialog/align-and-distribute.cpp:760
 msgid "Align text baselines"
 msgstr "Alinhar linhas base do texto"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:779
+#: ../src/ui/dialog/align-and-distribute.cpp:791
 msgid "Connector network layout"
 msgstr "Disposição da rede dos conectores"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:780
+#: ../src/ui/dialog/align-and-distribute.cpp:792
 msgid "Nodes"
 msgstr "Nós"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:786
+#: ../src/ui/dialog/align-and-distribute.cpp:798
 msgid "Relative to: "
 msgstr "Relativo a: "
 
-#: ../src/ui/dialog/align-and-distribute.cpp:791
+#: ../src/ui/dialog/align-and-distribute.cpp:799
+#, fuzzy
+msgid "Treat selection as group: "
+msgstr "A seleção não possui efeito de caminho aplicado."
+
+#: ../src/ui/dialog/align-and-distribute.cpp:804
 msgid "Align right sides of objects to left side of anchor"
 msgstr "Lado direito dos objetos alinhados para o lado esquerdo da âncora"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:794
+#: ../src/ui/dialog/align-and-distribute.cpp:807
 msgid "Align left sides"
 msgstr "Alinhar lados esquerdos"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:797
+#: ../src/ui/dialog/align-and-distribute.cpp:810
 msgid "Center on vertical axis"
 msgstr "Centralizar verticalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:800
+#: ../src/ui/dialog/align-and-distribute.cpp:813
 msgid "Align right sides"
 msgstr "Alinhar lados direitos"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:803
+#: ../src/ui/dialog/align-and-distribute.cpp:816
 msgid "Align left sides of objects to right side of anchor"
 msgstr "Lado esquerdo dos objetos alinhados para o lado direito da âncora"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:806
+#: ../src/ui/dialog/align-and-distribute.cpp:819
 msgid "Align bottoms of objects to top of anchor"
 msgstr "Lado inferior dos objetos alinhados para o topo da âncora"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:809
+#: ../src/ui/dialog/align-and-distribute.cpp:822
 msgid "Align tops"
 msgstr "Alinhar lados superiores"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:812
+#: ../src/ui/dialog/align-and-distribute.cpp:825
 msgid "Center on horizontal axis"
 msgstr "Centralizar horizontalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:815
+#: ../src/ui/dialog/align-and-distribute.cpp:828
 msgid "Align bottoms"
 msgstr "Alinhar lados inferiores"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:818
+#: ../src/ui/dialog/align-and-distribute.cpp:831
 msgid "Align tops of objects to bottom of anchor"
 msgstr "Topo dos objetos alinhados para o lado inferior da âncora"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:823
+#: ../src/ui/dialog/align-and-distribute.cpp:836
 msgid "Align baseline anchors of texts vertically"
 msgstr "Alinhar âncoras base dos textos verticalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:826
+#: ../src/ui/dialog/align-and-distribute.cpp:839
 msgid "Align baseline anchors of texts horizontally"
 msgstr "Alinhar âncoras base dos textos horizontalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:831
+#: ../src/ui/dialog/align-and-distribute.cpp:844
 msgid "Make horizontal gaps between objects equal"
 msgstr "Distribuir a distância horizontal igualmente entre os objetos"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:835
+#: ../src/ui/dialog/align-and-distribute.cpp:848
 msgid "Distribute left sides equidistantly"
 msgstr "Distribuir o lado esquerdo dos objetos à mesma distância"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:838
+#: ../src/ui/dialog/align-and-distribute.cpp:851
 msgid "Distribute centers equidistantly horizontally"
 msgstr "Distribuir o centro dos objetos à mesma distância"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:841
+#: ../src/ui/dialog/align-and-distribute.cpp:854
 msgid "Distribute right sides equidistantly"
 msgstr "Distribuir o lado direito dos objetos à mesma distância"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:845
+#: ../src/ui/dialog/align-and-distribute.cpp:858
 msgid "Make vertical gaps between objects equal"
 msgstr "Distribuir a distância vertical igualmente entre os objetos"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:849
+#: ../src/ui/dialog/align-and-distribute.cpp:862
 msgid "Distribute tops equidistantly"
 msgstr "Distribuir o lado superior dos objetos à mesma distância"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:852
+#: ../src/ui/dialog/align-and-distribute.cpp:865
 msgid "Distribute centers equidistantly vertically"
 msgstr "Distribuir o centro dos objetos à mesma distância verticalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:855
+#: ../src/ui/dialog/align-and-distribute.cpp:868
 msgid "Distribute bottoms equidistantly"
 msgstr "Distribuir o lado inferior dos objetos à mesma distância"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:860
+#: ../src/ui/dialog/align-and-distribute.cpp:873
 msgid "Distribute baseline anchors of texts horizontally"
 msgstr "Distribuir âncoras base dos textos horizontalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:863
+#: ../src/ui/dialog/align-and-distribute.cpp:876
 msgid "Distribute baseline anchors of texts vertically"
 msgstr "Distribuir âncoras de base de textos verticalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:868
+#: ../src/ui/dialog/align-and-distribute.cpp:881
 msgid "Randomize centers in both dimensions"
 msgstr "Randomizar os centros em ambas dimensões"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:871
+#: ../src/ui/dialog/align-and-distribute.cpp:884
 msgid "Unclump objects: try to equalize edge-to-edge distances"
 msgstr "Retirar objetos: tente equalizar as distâncias borda-a-borda"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:876
+#: ../src/ui/dialog/align-and-distribute.cpp:889
 msgid ""
 "Move objects as little as possible so that their bounding boxes do not "
 "overlap"
@@ -9469,46 +10002,46 @@ msgstr ""
 "Mover objetos o mínimo possível para que suas caixas limitadoras não se "
 "sobreponham"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:880
-#: ../src/widgets/toolbox.cpp:5588
+#: ../src/ui/dialog/align-and-distribute.cpp:893
+#: ../src/widgets/toolbox.cpp:6531
 msgid "Nicely arrange selected connector network"
 msgstr "Arranja suavemente a rede de conectores"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:885
+#: ../src/ui/dialog/align-and-distribute.cpp:898
 msgid "Align selected nodes horizontally"
 msgstr "Alinhar nós selecionados horizontalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:888
+#: ../src/ui/dialog/align-and-distribute.cpp:901
 msgid "Align selected nodes vertically"
 msgstr "Alinhar nós selecionados verticalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:891
+#: ../src/ui/dialog/align-and-distribute.cpp:904
 msgid "Distribute selected nodes horizontally"
 msgstr "Distribuir nós selecionados horizontalmente"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:894
+#: ../src/ui/dialog/align-and-distribute.cpp:907
 msgid "Distribute selected nodes vertically"
 msgstr "Distribuir nós selecionados verticalmente"
 
 #. Rest of the widgetry
-#: ../src/ui/dialog/align-and-distribute.cpp:899
+#: ../src/ui/dialog/align-and-distribute.cpp:912
 msgid "Last selected"
 msgstr "Último selecionado"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:900
+#: ../src/ui/dialog/align-and-distribute.cpp:913
 msgid "First selected"
 msgstr "Primeiro selecionado"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:901
+#: ../src/ui/dialog/align-and-distribute.cpp:914
 msgid "Biggest item"
 msgstr "Maior item"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:902
+#: ../src/ui/dialog/align-and-distribute.cpp:915
 msgid "Smallest item"
 msgstr "Menor item"
 
-#: ../src/ui/dialog/align-and-distribute.cpp:904
-#: ../src/widgets/desktop-widget.cpp:1548
+#: ../src/ui/dialog/align-and-distribute.cpp:917
+#: ../src/widgets/desktop-widget.cpp:1576
 msgid "Drawing"
 msgstr "Desenho"
 
@@ -9636,7 +10169,7 @@ msgstr "Cor da linha guia quando sob o cursor"
 msgid "_Enable snapping"
 msgstr "_Ativar Encaixe"
 
-#: ../src/ui/dialog/document-properties.cpp:103 ../src/verbs.cpp:2498
+#: ../src/ui/dialog/document-properties.cpp:103 ../src/verbs.cpp:2562
 msgid "Toggle snapping on or off"
 msgstr "Alternar Encaixe Ligado ou Desligado"
 
@@ -9742,13 +10275,15 @@ msgid "Snap to grid-guide intersections"
 msgstr "Ajustar às intersecções de guias com a grade"
 
 #: ../src/ui/dialog/document-properties.cpp:119
-msgid "_Line segments"
-msgstr "Segmentos de _linha"
+#, fuzzy
+msgid "_Paths"
+msgstr "Caminhos"
 
 #: ../src/ui/dialog/document-properties.cpp:119
+#, fuzzy
 msgid ""
-"Snap to intersections of line segments ('snap to paths' must be enabled, see "
-"the previous tab)"
+"Snap to intersections of paths ('snap to paths' must be enabled, see the "
+"previous tab)"
 msgstr ""
 "Encaixar às intersecções de segmentos de linhas ('encaixar nos caminhos' "
 "precisa estar habilitado, veja a aba anterior)"
@@ -9775,11 +10310,11 @@ msgid "Guides"
 msgstr "Guias"
 
 #: ../src/ui/dialog/document-properties.cpp:136
-#: ../src/ui/dialog/inkscape-preferences.cpp:905
+#: ../src/ui/dialog/inkscape-preferences.cpp:934
 msgid "Grids"
 msgstr "Grades"
 
-#: ../src/ui/dialog/document-properties.cpp:137 ../src/verbs.cpp:2498
+#: ../src/ui/dialog/document-properties.cpp:137 ../src/verbs.cpp:2562
 msgid "Snap"
 msgstr "Encaixe"
 
@@ -9787,46 +10322,46 @@ msgstr "Encaixe"
 msgid "Snap points"
 msgstr "Encaixe de pontos"
 
-#: ../src/ui/dialog/document-properties.cpp:227
+#: ../src/ui/dialog/document-properties.cpp:233
 msgid "<b>General</b>"
 msgstr "<b>Geral</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:229
+#: ../src/ui/dialog/document-properties.cpp:235
 msgid "<b>Border</b>"
 msgstr "<b>Borda</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:231
+#: ../src/ui/dialog/document-properties.cpp:237
 msgid "<b>Format</b>"
 msgstr "<b>Formatação</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:259
+#: ../src/ui/dialog/document-properties.cpp:265
 msgid "<b>Guides</b>"
 msgstr "<b>Guias</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:278
+#: ../src/ui/dialog/document-properties.cpp:284
 msgid "Snap _distance"
 msgstr "Distância de en_caixe"
 
-#: ../src/ui/dialog/document-properties.cpp:278
+#: ../src/ui/dialog/document-properties.cpp:284
 msgid "Snap only when _closer than:"
 msgstr "Encaixar somente quando mais p_róximo que:"
 
-#: ../src/ui/dialog/document-properties.cpp:278
 #: ../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 ""
 
 # Termo melhor para "agarramento"?
-#: ../src/ui/dialog/document-properties.cpp:279
+#: ../src/ui/dialog/document-properties.cpp:285
 msgid "Snapping distance, in screen pixels, for snapping to objects"
 msgstr "Distância de encaixe, em pixels da tela, para encaixar em objetos"
 
-#: ../src/ui/dialog/document-properties.cpp:279
+#: ../src/ui/dialog/document-properties.cpp:285
 msgid "Always snap to objects, regardless of their distance"
 msgstr ""
 
-#: ../src/ui/dialog/document-properties.cpp:280
+#: ../src/ui/dialog/document-properties.cpp:286
 msgid ""
 "If set, objects only snap to another object when it's within the range "
 "specified below"
@@ -9835,24 +10370,24 @@ msgstr ""
 "limites especificados abaixo"
 
 #. Options for snapping to grids
-#: ../src/ui/dialog/document-properties.cpp:284
+#: ../src/ui/dialog/document-properties.cpp:290
 msgid "Snap d_istance"
 msgstr "_Distância de encaixe"
 
-#: ../src/ui/dialog/document-properties.cpp:284
+#: ../src/ui/dialog/document-properties.cpp:290
 msgid "Snap only when c_loser than:"
 msgstr "Encaixar somente quando mais p_róximo que:"
 
 # Termo melhor para "agarramento"?
-#: ../src/ui/dialog/document-properties.cpp:285
+#: ../src/ui/dialog/document-properties.cpp:291
 msgid "Snapping distance, in screen pixels, for snapping to grid"
 msgstr "Distância de encaixe, em pixels da tela, para encaixar à grade"
 
-#: ../src/ui/dialog/document-properties.cpp:285
+#: ../src/ui/dialog/document-properties.cpp:291
 msgid "Always snap to grids, regardless of the distance"
 msgstr ""
 
-#: ../src/ui/dialog/document-properties.cpp:286
+#: ../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"
@@ -9861,24 +10396,24 @@ msgstr ""
 "dos limites especificados abaixo"
 
 #. Options for snapping to guides
-#: ../src/ui/dialog/document-properties.cpp:290
+#: ../src/ui/dialog/document-properties.cpp:296
 msgid "Snap dist_ance"
 msgstr "Encaixar distânci_a"
 
-#: ../src/ui/dialog/document-properties.cpp:290
+#: ../src/ui/dialog/document-properties.cpp:296
 msgid "Snap only when close_r than:"
 msgstr "Encaixar somente quando mais pr_óximo que:"
 
 # Termo melhor para "agarramento"?
-#: ../src/ui/dialog/document-properties.cpp:291
+#: ../src/ui/dialog/document-properties.cpp:297
 msgid "Snapping distance, in screen pixels, for snapping to guides"
 msgstr "Encaixando distância, em pixels da tela, para encaixar às guias"
 
-#: ../src/ui/dialog/document-properties.cpp:291
+#: ../src/ui/dialog/document-properties.cpp:297
 msgid "Always snap to guides, regardless of the distance"
 msgstr ""
 
-#: ../src/ui/dialog/document-properties.cpp:292
+#: ../src/ui/dialog/document-properties.cpp:298
 msgid ""
 "If set, objects only snap to a guide when it's within the range specified "
 "below"
@@ -9886,51 +10421,47 @@ msgstr ""
 "Se definido, os objetos serão encaixados a uma guia apenas quando dentro dos "
 "limites especificados abaixo"
 
-#: ../src/ui/dialog/document-properties.cpp:315
+#: ../src/ui/dialog/document-properties.cpp:321
 msgid "<b>Snapping</b>"
 msgstr "<b>Encaixe</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:317
+#: ../src/ui/dialog/document-properties.cpp:323
 msgid "<b>What snaps</b>"
 msgstr "<b>Encaixar:</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:319
+#: ../src/ui/dialog/document-properties.cpp:325
 msgid "<b>Snap to objects</b>"
 msgstr "<b>Encaixando em objetos</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:321
+#: ../src/ui/dialog/document-properties.cpp:327
 msgid "<b>Snap to grids</b>"
 msgstr "<b>Encaixando às grades</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:323
+#: ../src/ui/dialog/document-properties.cpp:329
 msgid "<b>Snap to guides</b>"
 msgstr "<b>Encaixando às guias</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:361
+#: ../src/ui/dialog/document-properties.cpp:367
 msgid "<b>Snapping to intersections of</b>"
 msgstr "<b>Encaixando às intersecções de</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:363
+#: ../src/ui/dialog/document-properties.cpp:369
 #, fuzzy
 msgid "<b>Special points to consider</b>"
 msgstr "<b>Encaixando às guias</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:433
+#: ../src/ui/dialog/document-properties.cpp:439
 msgid "<b>Creation</b>"
 msgstr " <b>Criação</b> "
 
-#: ../src/ui/dialog/document-properties.cpp:434
+#: ../src/ui/dialog/document-properties.cpp:440
 msgid "<b>Defined grids</b>"
 msgstr "<b>Grades definidas</b>"
 
-#: ../src/ui/dialog/document-properties.cpp:650
+#: ../src/ui/dialog/document-properties.cpp:656
 msgid "Remove grid"
 msgstr "Remover grade"
 
-#: ../src/ui/dialog/export.cpp:32
-msgid "Export"
-msgstr "Exportar"
-
 #: ../src/ui/dialog/extension-editor.cpp:80
 msgid "Information"
 msgstr "Informação"
@@ -9959,13 +10490,13 @@ msgstr "Pré-Visualizar"
 
 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:711
 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:712
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:198
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:199
 msgid "All Inkscape Files"
 msgstr "Todos os arquivos do Inkscape"
 
 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:716
 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:717
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:197
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:198
 msgid "All Files"
 msgstr "Todos os tipos"
 
@@ -9979,49 +10510,49 @@ msgstr "Todas as Imagens"
 #. ###### 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
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:890
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1432
 msgid "Append filename extension automatically"
 msgstr "Anexar automaticamente a extensão do arquivo"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1042
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1294
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1045
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1297
 msgid "Guess from extension"
 msgstr "Obter da extensão"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1315
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1318
 msgid "Left edge of source"
 msgstr "Borda esquerda da origem"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1316
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1319
 msgid "Top edge of source"
 msgstr "Borda superior da origem"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1317
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1320
 msgid "Right edge of source"
 msgstr "Borda direita da origem"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1318
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1321
 msgid "Bottom edge of source"
 msgstr "Borda inferior da origem"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1319
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1322
 msgid "Source width"
 msgstr "Largura da origem"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1320
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1323
 msgid "Source height"
 msgstr "Altura da origem"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1321
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1324
 msgid "Destination width"
 msgstr "Largura do destino"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1322
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1325
 msgid "Destination height"
 msgstr "Altura do destino"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1323
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1326
 msgid "Resolution (dots per inch)"
 msgstr "Resolução (pontos por polegada)"
 
@@ -10029,43 +10560,43 @@ msgstr "Resolução (pontos por polegada)"
 #. ## EXTRA WIDGET -- SOURCE SIDE
 #. #########################################
 #. ##### Export options buttons/spinners, etc
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1360
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1363
 msgid "Document"
 msgstr "Documento"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1372
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1375
 #: ../share/extensions/color_custom.inx.h:3
 msgid "Custom"
 msgstr "Personalizado"
 
 # Não sei se a traducao é essa mesmo... essa é traducao literal - krishna
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1412
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1415
 msgid "Cairo"
 msgstr "Cairo"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1415
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418
 msgid "Antialias"
 msgstr "Anti-alias"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1418
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1421
 msgid "Background"
 msgstr "Plano de fundo"
 
-#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1441
+#: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1444
 msgid "Destination"
 msgstr "Destino da impressão"
 
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:199
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:200
 #, fuzzy
 msgid "All Image Files"
 msgstr "Todas as Imagens"
 
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:428
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:429
 #, fuzzy
 msgid "Show Preview"
 msgstr "Visualização"
 
-#: ../src/ui/dialog/filedialogimpl-win32.cpp:564
+#: ../src/ui/dialog/filedialogimpl-win32.cpp:565
 #, fuzzy
 msgid "No file selected"
 msgstr "Nenhum filtro selecionado"
@@ -10082,7 +10613,7 @@ msgstr "_Pintura de traço"
 msgid "Stroke st_yle"
 msgstr "Estilo de traço"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:504
+#: ../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 "
@@ -10096,83 +10627,83 @@ msgstr ""
 "portanto, pode ser utilizada para ajustar um valor constante na saída do "
 "filtro."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:614
+#: ../src/ui/dialog/filter-effects-dialog.cpp:616
 msgid "Image File"
 msgstr "Arquivo de imagem"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:617
+#: ../src/ui/dialog/filter-effects-dialog.cpp:619
 msgid "Selected SVG Element"
 msgstr "Elemento SVG selecionado"
 
 #. TODO: any image, not justy svg
-#: ../src/ui/dialog/filter-effects-dialog.cpp:686
+#: ../src/ui/dialog/filter-effects-dialog.cpp:689
 msgid "Select an image to be used as feImage input"
 msgstr "Selecione uma imagem para usar como entrada do filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:778
+#: ../src/ui/dialog/filter-effects-dialog.cpp:781
 msgid "This SVG filter effect does not require any parameters."
 msgstr "Esta primitiva de filtro não requer o ajuste de nenhum parâmetro."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:784
+#: ../src/ui/dialog/filter-effects-dialog.cpp:787
 msgid "This SVG filter effect is not yet implemented in Inkscape."
 msgstr "Esta primitiva de filtro ainda não está implementada no Inkscape."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:975
+#: ../src/ui/dialog/filter-effects-dialog.cpp:978
 msgid "Light Source:"
 msgstr "Fonte de Luz:"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:992
+#: ../src/ui/dialog/filter-effects-dialog.cpp:995
 msgid "Direction angle for the light source on the XY plane, in degrees"
 msgstr "Ângulo de incidência da fonte de luz no plano XY, em graus."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:993
+#: ../src/ui/dialog/filter-effects-dialog.cpp:996
 msgid "Direction angle for the light source on the YZ plane, in degrees"
 msgstr "Ângulo de incidência da fonte de luz no plano YZ, em graus."
 
 #. default x:
 #. default y:
 #. default z:
-#: ../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 "Location"
 msgstr "Localização"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:996
 #: ../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 "Coordenada 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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1005
 msgid "Y coordinate"
 msgstr "Coordenada 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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1005
 msgid "Z coordinate"
 msgstr "Coordenada Z"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1002
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1005
 msgid "Points At"
 msgstr "Pontos Em"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1003
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1006
 msgid "Specular Exponent"
 msgstr "Expoente de Espelhamento"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1003
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1006
 msgid "Exponent value controlling the focus for the light source"
 msgstr "Valor que controla o foco da fonte de luz"
 
 #. 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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1008
 msgid "Cone Angle"
 msgstr "Ângulo de Cone"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1005
+#: ../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 "
@@ -10181,116 +10712,116 @@ msgstr ""
 "Este é o ângulo de abertura do cone de luz. Nenhuma luz é projetada para "
 "fora deste cone."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1065
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1069
 msgid "New light source"
 msgstr "Nova fonte de luz"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1106
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1110
 msgid "_Duplicate"
 msgstr "_Duplicar"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1132
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1136
 msgid "_Filter"
 msgstr "_Filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1146
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1150
 msgid "R_ename"
 msgstr "R_enomear"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1240
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1244
 msgid "Rename filter"
 msgstr "Renomear filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1276
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1280
 msgid "Apply filter"
 msgstr "Aplicar filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1352
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1356
 msgid "Add filter"
 msgstr "Adicionar filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1378
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1382
 msgid "Duplicate filter"
 msgstr "Duplicar filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1445
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1449
 msgid "_Effect"
 msgstr "_Efeito"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1453
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1457
 msgid "Connections"
 msgstr "Conexões"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1569
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1573
 msgid "Remove filter primitive"
 msgstr "Remover primitiva de filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:1940
+#: ../src/ui/dialog/filter-effects-dialog.cpp:1945
 msgid "Remove merge node"
 msgstr "Remover nó unido"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2056
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2061
 msgid "Reorder filter primitive"
 msgstr "Reordenar primitiva de filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2092
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2095
 msgid "Add Effect:"
 msgstr "Adicionar Primitiva de Filtro:"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2093
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2096
 msgid "No effect selected"
 msgstr "Nenhuma primitiva de filtro selecionada"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2094
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2097
 msgid "No filter selected"
 msgstr "Nenhum filtro selecionado"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2130
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2135
 msgid "Effect parameters"
 msgstr "Parâmetros das primitivas de filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2131
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2136
 msgid "Filter General Settings"
 msgstr "Ajustes Gerais"
 
 #. default x:
 #. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2192
 msgid "Coordinates"
 msgstr "Coordenadas"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2192
 msgid "X coordinate of the left corners of filter effects region"
 msgstr "Coordenada X dos cantos esquerdos da área de filtragem"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2187
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2192
 msgid "Y coordinate of the upper corners of filter effects region"
 msgstr "Coordenada Y dos cantos superiores da área de filtragem"
 
 #. default width:
 #. default height:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2188
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2193
 #: ../share/extensions/dimension.inx.h:1
 msgid "Dimensions"
 msgstr "Dimensões"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2188
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2193
 msgid "Width of filter effects region"
 msgstr "Largura da área de filtragem"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2188
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2193
 msgid "Height of filter effects region"
 msgstr "Altura da área de filtragem"
 
 #. # 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/filter-effects-dialog.cpp:2196
+#: ../src/ui/dialog/tracedialog.cpp:553 ../src/widgets/toolbox.cpp:3777
 #: ../share/extensions/triangle.inx.h:9
 msgid "Mode"
 msgstr "Modo"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2194
+#: ../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 "
@@ -10302,23 +10833,23 @@ msgstr ""
 "As outras palavras-chaves servem de atalho para operações comuns sem que "
 "seja necessário fornecer uma matriz de valores."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2195
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2200
 msgid "Value(s)"
 msgstr "Valor(es)"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2209
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2250
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2214
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2255
 msgid "Operator"
 msgstr "Operador"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2210
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2215
 msgid "K1"
 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
+#: ../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 "
@@ -10329,33 +10860,33 @@ msgstr ""
 "i1 e i2 são os valores dos pixels na primeira e na segunda entrada, "
 "respectivamente."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2211
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
 msgid "K2"
 msgstr "K2"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2212
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2217
 msgid "K3"
 msgstr "K3"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2213
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2218
 msgid "K4"
 msgstr "K4"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2221
 msgid "width of the convolve matrix"
 msgstr "largura da matriz de convolução"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2216
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2221
 msgid "height of the convolve matrix"
 msgstr "altura da matriz de convolução"
 
 #. default x:
 #. default y:
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2217
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2222
 msgid "Target"
 msgstr "Alvo"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2217
+#: ../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."
@@ -10363,7 +10894,7 @@ msgstr ""
 "Coordenada X do alvo da matriz de convolução. A operação de convolução será "
 "aplicada aos pixels ao redor deste ponto."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2217
+#: ../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."
@@ -10372,11 +10903,11 @@ msgstr ""
 "aplicada aos pixels ao redor deste ponto."
 
 #. TRANSLATORS: for info on "Kernel", see http://en.wikipedia.org/wiki/Kernel_(matrix)
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2219
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2224
 msgid "Kernel"
 msgstr "Kernel"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2219
+#: ../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 "
@@ -10394,11 +10925,11 @@ msgstr ""
 "de desfoque."
 
 #. 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
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2227
 msgid "Divisor"
 msgstr "Divisor"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2222
+#: ../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 "
@@ -10411,11 +10942,11 @@ msgstr ""
 "todos os valores da matriz de convolução costuma ter um efeito agradável na "
 "intensidade das cores na saída."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2223
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2228
 msgid "Bias"
 msgstr "Parcela Constante"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2223
+#: ../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."
@@ -10423,11 +10954,11 @@ msgstr ""
 "Este valor é somado a cada componente na saída. Isto é útil para se definir "
 "um valor constante como resposta nula do filtro."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2224
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2229
 msgid "Edge Mode"
 msgstr "Modo Limite"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2224
+#: ../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 "
@@ -10436,31 +10967,31 @@ msgstr ""
 "Determina como extender a imagem da entrada de modo a permitir que sejam "
 "efetuadas as operações de convolução em suas bordas."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2225
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2230
 msgid "Preserve Alpha"
 msgstr "Preservar Canal Alfa"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2225
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2230
 msgid "If set, the alpha channel won't be altered by this filter primitive."
 msgstr "Define se o canal alfa será ou não alterado."
 
 #. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2228
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2233
 msgid "Diffuse Color"
 msgstr "Cor"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2228
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2261
+#: ../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 "Define a cor da fonte de luz"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2229
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2262
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2234
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2267
 msgid "Surface Scale"
 msgstr "Escala da Superfície"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2229
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2262
+#: ../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"
@@ -10468,59 +10999,59 @@ msgstr ""
 "Este valor amplifica as alturas do mapa de relevo definido pelo canal alfa "
 "da entrada"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2230
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2263
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2235
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2268
 msgid "Constant"
 msgstr "Constante"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2230
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2263
+#: ../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 "Esta constante afeta o modelo Phong de iluminação."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2231
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2265
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2236
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2270
 msgid "Kernel Unit Length"
 msgstr "Largura da Grade de Pixels"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2235
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2240
 msgid "This defines the intensity of the displacement effect."
 msgstr "Este valor define a intensidade do efeito de deslocamento."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2236
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2241
 msgid "X displacement"
 msgstr "Deslocamento X"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2236
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2241
 msgid "Color component that controls the displacement in the X direction"
 msgstr "Componente de cor que controla o deslocamento na direção X"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2237
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2242
 msgid "Y displacement"
 msgstr "Deslocamento Y"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2237
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2242
 msgid "Color component that controls the displacement in the Y direction"
 msgstr "Componente de cor que controla o deslocamento na direção Y"
 
 #. default: black
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2240
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2245
 msgid "Flood Color"
 msgstr "Cor de Preenchimento"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2240
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2245
 msgid "The whole filter region will be filled with this color."
 msgstr "Toda a área do filtro será preenchida com esta cor."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2244
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2249
 msgid "Standard Deviation"
 msgstr "Desvio Padrão"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2244
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2249
 msgid "The standard deviation for the blur operation."
 msgstr "Desvio padrão para a operação de desfoque."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2250
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2255
 msgid ""
 "Erode: performs \"thinning\" of input image.\n"
 "Dilate: performs \"fattenning\" of input image."
@@ -10528,42 +11059,42 @@ msgstr ""
 "Erodir: deixa a imagem mais \"fina\".\n"
 "Dilatar: deixa a imagem mais \"gorda\"."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2254
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2259
 msgid "Source of Image"
 msgstr "Fonte de Imagem"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2257
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2262
 msgid "Delta X"
 msgstr "Delta X"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2257
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2262
 msgid "This is how far the input image gets shifted to the right"
 msgstr "Quantidade de pixels que a imagem será deslocada para a direita"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2258
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2263
 msgid "Delta Y"
 msgstr "Delta Y"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2258
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2263
 msgid "This is how far the input image gets shifted downwards"
 msgstr "Quantidade de pixels que a imagem será deslocada para baixo"
 
 #. default: white
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2261
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2266
 msgid "Specular Color"
 msgstr "Cor espelhada"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2264
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2269
 #: ../share/extensions/interp.inx.h:2
 msgid "Exponent"
 msgstr "Expoente"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2264
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2269
 msgid "Exponent for specular term, larger is more \"shiny\"."
 msgstr ""
 "Expoente para a intensidade da reflexão. Quanto maior, mais \"brilhante\"."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2273
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2278
 msgid ""
 "Indicates whether the filter primitive should perform a noise or turbulence "
 "function."
@@ -10571,30 +11102,30 @@ msgstr ""
 "Indica se esta primitiva de filtro deve gerar um efeito de ruído ou de "
 "turbulência."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2274
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2279
 msgid "Base Frequency"
 msgstr "Freqüência Base"
 
 # oitavas são intervalos de frquência onde f1 é metade (ou o dobro) de f2.
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2275
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2280
 msgid "Octaves"
 msgstr "Oitavas"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2276
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2281
 msgid "Seed"
 msgstr "Semente"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2276
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2281
 msgid "The starting number for the pseudo random number generator."
 msgstr "O valor inicial utilizado no gerador de números pseudo-aleatórios."
 
 # filtro é uma coisa. primitiva de filtro é outra.
 # cada nó <filter/> do SVG pode conter nós filhos que são chamados de primitivas de filtro. Exemplos de promitivas de filtro são: <feImage>, <feBlend>,  <feConvolveMatrix> etc.
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2288
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2293
 msgid "Add filter primitive"
 msgstr "Adicionar primitiva de filtro "
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2304
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2310
 msgid ""
 "The <b>feBlend</b> filter primitive provides 4 image blending modes: screen, "
 "multiply, darken and lighten."
@@ -10602,7 +11133,7 @@ msgstr ""
 "A primitiva <b>feBlend</b> fornece 4 modos de mistura de imagens: tela, "
 "multiplicação, escurecimento e clareamento."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2308
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2314
 msgid ""
 "The <b>feColorMatrix</b> filter primitive applies a matrix transformation to "
 "colour of each rendered pixel. This allows for effects like turning object "
@@ -10612,7 +11143,7 @@ msgstr ""
 "(representada por uma matriz) às cores de cada pixel. Isto permite, por "
 "exemplo, modificar a saturação das cores ou mudar para tons de cinza."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2312
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2318
 msgid ""
 "The <b>feComponentTransfer</b> filter primitive manipulates the input's "
 "color components (red, green, blue, and alpha) according to particular "
@@ -10624,7 +11155,7 @@ msgstr ""
 "transferência, permitindo operações de ajuste de brilho e contraste, "
 "balanceamento de cores e segmentação por intensidade."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2316
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2322
 msgid ""
 "The <b>feComposite</b> filter primitive composites two images using one of "
 "the Porter-Duff blending modes or the aritmetic mode described in SVG "
@@ -10636,7 +11167,7 @@ msgstr ""
 "modos de Porter-Duff são, essencialmente, operações lógicas sobre os pixels  "
 "correspondentes de ambas as imagens."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2320
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2326
 msgid ""
 "The <b>feConvolveMatrix</b> lets you specify a Convolution to be applied on "
 "the image. Common effects created using convolution matrices are blur, "
@@ -10651,7 +11182,7 @@ msgstr ""
 "recomenda-se utilizar a primitiva feGaussianBlur para tal, pois ela é melhor "
 "otimizada e independe de resolução."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2324
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2330
 msgid ""
 "The <b>feDiffuseLighting</b> and feSpecularLighting filter primitives create "
 "\"embossed\" shadings.  The input's alpha channel is used to provide depth "
@@ -10663,7 +11194,7 @@ msgstr ""
 "utilizado para prover informação sobre a altura do relevo: áreas de maior "
 "opacidade representam superfícies mais projetadas na direção do observador."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2328
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2334
 msgid ""
 "The <b>feDisplacementMap</b> filter primitive displaces the pixels in the "
 "first input using the second input as a displacement map, that shows from "
@@ -10675,7 +11206,7 @@ msgstr ""
 "longe o pixel deve vir. Exemplos clássicos são os efeitos de lente, e de "
 "distorção em caracol."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2332
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2338
 msgid ""
 "The <b>feFlood</b> 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 "
@@ -10685,7 +11216,7 @@ msgstr ""
 "opacidade. Isto costuma ser usado como entrada de outras primitivas para "
 "aplicar cores a um desenho."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2336
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2342
 msgid ""
 "The <b>feGaussianBlur</b> filter primitive uniformly blurs its input.  It is "
 "commonly used together with feOffset to create a drop shadow effect."
@@ -10694,7 +11225,7 @@ msgstr ""
 "comummente utilizada junto com a primitiva feOffset (Deslocamento) para "
 "criar efeitos de sombra deslocada."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2340
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2346
 msgid ""
 "The <b>feImage</b> filter primitive fills the region with an external image "
 "or another part of the document."
@@ -10702,7 +11233,7 @@ msgstr ""
 "A primitiva <b>feImage</b> preenche uma região com uma imagem externa ou com "
 "outra parte do documento."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2344
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2350
 msgid ""
 "The <b>feMerge</b> filter primitive composites several temporary images "
 "inside the filter primitive to a single image. It uses normal alpha "
@@ -10714,7 +11245,7 @@ msgstr ""
 "diversas primitivas feBlend (Mistura) no modo 'normal' ou diversas "
 "primitivas feComposite (Composição) no modo 'over'."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2348
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2354
 msgid ""
 "The <b>feMorphology</b> filter primitive provides erode and dilate effects. "
 "For single-colour objects erode makes the object thinner and dilate makes it "
@@ -10725,7 +11256,7 @@ msgstr ""
 "objeto fique mais fino e o efeito de dilatação faz com que o objeto fique "
 "mais grosso."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2352
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2358
 msgid ""
 "The <b>feOffset</b> filter primitive offsets the image by an user-defined "
 "amount. For example, this is useful for drop shadows, where the shadow is in "
@@ -10734,7 +11265,7 @@ msgstr ""
 "A primitiva <b>feOffset</b> desloca a imagem. Isto é útil, por exemplo, para "
 "se criar efeitos de sombra."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2356
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2362
 msgid ""
 "The feDiffuseLighting and <b>feSpecularLighting</b> filter primitives create "
 "\"embossed\" shadings.  The input's alpha channel is used to provide depth "
@@ -10746,14 +11277,14 @@ msgstr ""
 "utilizado para prover informação sobre a altura do relevo: áreas de maior "
 "opacidade representam superfícies mais projetadas na direção do observador."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2360
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2366
 msgid ""
 "The <b>feTile</b> filter primitive tiles a region with its input graphic"
 msgstr ""
 "A primitiva <b>feTile</b> ladrilha uma região com múltiplas cópias da imagem "
 "recebida em sua entrada."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2364
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2370
 msgid ""
 "The <b>feTurbulence</b> filter primitive renders Perlin noise. This kind of "
 "noise is useful in simulating several nature phenomena like clouds, fire and "
@@ -10763,31 +11294,31 @@ msgstr ""
 "ruído é útil para simular fenômenos naturais como núvens, fogo e fumaça e "
 "para gerar texturas complexas como mármore ou granito."
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2382
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2388
 msgid "Duplicate filter primitive"
 msgstr "Duplicar primitiva de filtro"
 
-#: ../src/ui/dialog/filter-effects-dialog.cpp:2435
+#: ../src/ui/dialog/filter-effects-dialog.cpp:2441
 msgid "Set filter primitive attribute"
 msgstr "Definir atributo de primitiva de filtro"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:147
+#: ../src/ui/dialog/inkscape-preferences.cpp:155
 msgid "Mouse"
 msgstr "Mouse"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:149
+#: ../src/ui/dialog/inkscape-preferences.cpp:157
 msgid "Grab sensitivity:"
 msgstr "Sensibilidade de agarrar:"
 
-#: ../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
+#: ../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 "pixels"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:150
+#: ../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)"
@@ -10795,24 +11326,24 @@ msgstr ""
 "Quão perto da tela é preciso que o de um objeto esteja para ser possível "
 "agarrá-lo com o mouse (em pixels)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:152
+#: ../src/ui/dialog/inkscape-preferences.cpp:160
 msgid "Click/drag threshold:"
 msgstr "Limiar para clicar/arrastar:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:153
+#: ../src/ui/dialog/inkscape-preferences.cpp:161
 msgid ""
 "Maximum mouse drag (in screen pixels) which is considered a click, not a drag"
 msgstr ""
 "Arrasto máximo do mouse (em pixels) que é considerado um clicar e não "
 "arrastar"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:155
+#: ../src/ui/dialog/inkscape-preferences.cpp:163
 msgid "Use pressure-sensitive tablet (requires restart)"
 msgstr ""
 "Use a pressão sensível da Mesa Digitalizadora (tablet) ou outro dispositivo "
 "(necessita reiniciar)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:157
+#: ../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 "
@@ -10822,25 +11353,25 @@ msgstr ""
 "sensível a pressão. Desative-o apenas se você tiver problemas com a Mesa "
 "Digitalizadora."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:159
+#: ../src/ui/dialog/inkscape-preferences.cpp:167
 #, fuzzy
 msgid "Switch tool based on tablet device (requires restart)"
 msgstr "Caixa de diálogo de comportamento (requer reinício):"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:161
+#: ../src/ui/dialog/inkscape-preferences.cpp:169
 msgid ""
 "Change tool as different devices are used on the tablet (pen, eraser, mouse)"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:166
+#: ../src/ui/dialog/inkscape-preferences.cpp:174
 msgid "Scrolling"
 msgstr "Rolagem"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:168
+#: ../src/ui/dialog/inkscape-preferences.cpp:176
 msgid "Mouse wheel scrolls by:"
 msgstr "A roda do mouse rola em:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:169
+#: ../src/ui/dialog/inkscape-preferences.cpp:177
 msgid ""
 "One mouse wheel notch scrolls by this distance in screen pixels "
 "(horizontally with Shift)"
@@ -10848,23 +11379,23 @@ msgstr ""
 "Uma roda do mouse rola por esta distância em pixels da tela (horizontalmente "
 "com Shift)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:170
+#: ../src/ui/dialog/inkscape-preferences.cpp:178
 msgid "Ctrl+arrows"
 msgstr "Ctrl+setas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:172
+#: ../src/ui/dialog/inkscape-preferences.cpp:180
 msgid "Scroll by:"
 msgstr "Rolar em:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:173
+#: ../src/ui/dialog/inkscape-preferences.cpp:181
 msgid "Pressing Ctrl+arrow key scrolls by this distance (in screen pixels)"
 msgstr "Pressionando Ctrl+seta deslizar por esta distância (em pixels)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:175
+#: ../src/ui/dialog/inkscape-preferences.cpp:183
 msgid "Acceleration:"
 msgstr "Aceleração:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:176
+#: ../src/ui/dialog/inkscape-preferences.cpp:184
 msgid ""
 "Pressing and holding Ctrl+arrow will gradually speed up scrolling (0 for no "
 "acceleration)"
@@ -10872,15 +11403,15 @@ msgstr ""
 "Pressionando e segurando Ctrl+seta aumentará gradualmente a velocidade de  "
 "rolagem (0 para nenhuma aceleração)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:177
+#: ../src/ui/dialog/inkscape-preferences.cpp:185
 msgid "Autoscrolling"
 msgstr "Autorolagem"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:179
+#: ../src/ui/dialog/inkscape-preferences.cpp:187
 msgid "Speed:"
 msgstr "Velocidade:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:180
+#: ../src/ui/dialog/inkscape-preferences.cpp:188
 msgid ""
 "How fast the canvas autoscrolls when you drag beyond canvas edge (0 to turn "
 "autoscroll off)"
@@ -10888,13 +11419,13 @@ msgstr ""
 "Quão rápido a tela rola quando é arrastada além da beira da tela (0 para "
 "desligar a rolagem)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:182
+#: ../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:5741
+#: ../src/ui/dialog/tracedialog.cpp:586 ../src/widgets/toolbox.cpp:6685
 msgid "Threshold:"
 msgstr "Limiar:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:183
+#: ../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"
@@ -10902,13 +11433,13 @@ msgstr ""
 "Quão longe (em pixels) é preciso estar da beira da tela para disparar a "
 "rolagem. Positivo é do lado de fora da tela e negativo é dentro da tela."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:184
+#: ../src/ui/dialog/inkscape-preferences.cpp:192
 msgid "Left mouse button pans when Space is pressed"
 msgstr ""
 "Botão esquerdo do mouse percorre a área de desenho quando a tecla de espaço "
 "é pressionada"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:186
+#: ../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 "
@@ -10919,11 +11450,11 @@ msgstr ""
 "Illustrator). Quando desabilitada, a tecla de espaço temporariamente muda "
 "para a ferramenta Seleção (padrão)."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:187
+#: ../src/ui/dialog/inkscape-preferences.cpp:195
 msgid "Mouse wheel zooms by default"
 msgstr "Roda do mouse altera zoom por padrão"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:189
+#: ../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."
@@ -10932,16 +11463,12 @@ msgstr ""
 "de desenho com Ctrl; quando desabilitada, altera o zoom com Ctrl e desloca "
 "sem Ctrl."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:194
-msgid "Steps"
-msgstr "Passos"
-
 #. nudgedistance is limited to 1000 in select-context.cpp: use the same limit here
-#: ../src/ui/dialog/inkscape-preferences.cpp:198
+#: ../src/ui/dialog/inkscape-preferences.cpp:206
 msgid "Arrow keys move by:"
 msgstr "Setas movem por:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:199
+#: ../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)"
@@ -10950,32 +11477,32 @@ msgstr ""
 "distância (em pixels)"
 
 #. defaultscale is limited to 1000 in select-context.cpp: use the same limit here
-#: ../src/ui/dialog/inkscape-preferences.cpp:202
+#: ../src/ui/dialog/inkscape-preferences.cpp:210
 msgid "> and < scale by:"
 msgstr "> e < ampliam em:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:203
+#: ../src/ui/dialog/inkscape-preferences.cpp:211
 msgid ""
 "Pressing > or < scales selection up or down by this increment (in px units)"
 msgstr ""
 "Pressionando > ou < amplia ou reduz a seleção por este valor (em pixels)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:205
+#: ../src/ui/dialog/inkscape-preferences.cpp:213
 msgid "Inset/Outset by:"
 msgstr "Comprimir/Expandir em:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:206
+#: ../src/ui/dialog/inkscape-preferences.cpp:214
 msgid ""
 "Inset and Outset commands displace the path by this distance (in px units)"
 msgstr ""
 "Os comandos Comprimir e Expandir deslocam o caminho por esta distância (em "
 "pixels)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:207
+#: ../src/ui/dialog/inkscape-preferences.cpp:215
 msgid "Compass-like display of angles"
 msgstr "Mostrar ângulos como um compasso"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:209
+#: ../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 "
@@ -10985,15 +11512,15 @@ msgstr ""
 "360, sentido horário; caso contrário como 0 a oeste, intervalo de -180 a "
 "180, sentido anti-horário"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:215
+#: ../src/ui/dialog/inkscape-preferences.cpp:223
 msgid "Rotation snaps every:"
 msgstr "Ajuste de giro a cada:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:215
+#: ../src/ui/dialog/inkscape-preferences.cpp:223
 msgid "degrees"
 msgstr "graus"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:216
+#: ../src/ui/dialog/inkscape-preferences.cpp:224
 msgid ""
 "Rotating with Ctrl pressed snaps every that much degrees; also, pressing "
 "[ or ] rotates by this amount"
@@ -11001,11 +11528,11 @@ msgstr ""
 "Girando com Ctrl pressionado ajusta cada um neste ângulo. Pressionando, "
 "também, [ ou ] gira nesta proporção"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:218
+#: ../src/ui/dialog/inkscape-preferences.cpp:226
 msgid "Zoom in/out by:"
 msgstr "Ampliar/Reduzir em:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:219
+#: ../src/ui/dialog/inkscape-preferences.cpp:227
 msgid ""
 "Zoom tool click, +/- keys, and middle click zoom in and out by this "
 "multiplier"
@@ -11013,29 +11540,29 @@ msgstr ""
 "Um clique na ferramenta Zoom, as teclas +/- e clique com botão do meio "
 "ampliam e reduzem por este multiplicador"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:225
+#: ../src/ui/dialog/inkscape-preferences.cpp:233
 msgid "Show selection cue"
 msgstr "Mostrar taco de seleção"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:226
+#: ../src/ui/dialog/inkscape-preferences.cpp:234
 msgid ""
 "Whether selected objects display a selection cue (the same as in selector)"
 msgstr ""
 "Se os objetos selecionados exibem um taco de seleção (o mesmo do seletor)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:232
+#: ../src/ui/dialog/inkscape-preferences.cpp:240
 msgid "Enable gradient editing"
 msgstr "Ativar edição de degradê"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:233
+#: ../src/ui/dialog/inkscape-preferences.cpp:241
 msgid "Whether selected objects display gradient editing controls"
 msgstr "Se os objetos selecionados exibem controles de edição de degradês"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:238
+#: ../src/ui/dialog/inkscape-preferences.cpp:246
 msgid "Conversion to guides uses edges instead of bounding box"
 msgstr "Na conversão em guias usa-se bordas ao invés de caixa delimitadora"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:239
+#: ../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."
@@ -11043,25 +11570,25 @@ msgstr ""
 "Convertendo um objeto para guias locais ao longo das bordas de outro objeto "
 "(imitando a forma do objeto), não ao longo da caixa delimitadora."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:246
+#: ../src/ui/dialog/inkscape-preferences.cpp:254
 msgid "Ctrl+click dot size:"
 msgstr "Ctrl+click tamanho do ponto:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:246
+#: ../src/ui/dialog/inkscape-preferences.cpp:254
 #, fuzzy
 msgid "times current stroke width"
 msgstr "Ampliar largura do traço"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:247
+#: ../src/ui/dialog/inkscape-preferences.cpp:255
 msgid "Size of dots created with Ctrl+click (relative to current stroke width)"
 msgstr ""
 "Tamanho dos pontos criados com Ctrl+click (relativo à largura do traço atual)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:262
+#: ../src/ui/dialog/inkscape-preferences.cpp:270
 msgid "<b>No objects selected</b> to take the style from."
 msgstr "<b>Nenhum objeto selecionado</b> para obter o estilo."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:271
+#: ../src/ui/dialog/inkscape-preferences.cpp:279
 msgid ""
 "<b>More than one object selected.</b>  Cannot take style from multiple "
 "objects."
@@ -11069,23 +11596,23 @@ msgstr ""
 "<b>Mais de um objeto selecionado.</b> Não é possível obter o estilo a partir "
 "de múltiplos objetos."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:305
+#: ../src/ui/dialog/inkscape-preferences.cpp:314
 msgid "Create new objects with:"
 msgstr "Criar novos objetos com:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:307
+#: ../src/ui/dialog/inkscape-preferences.cpp:316
 msgid "Last used style"
 msgstr "Último estilo usado"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:309
+#: ../src/ui/dialog/inkscape-preferences.cpp:318
 msgid "Apply the style you last set on an object"
 msgstr "Aplicar o estilo do seu último objeto"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:314
+#: ../src/ui/dialog/inkscape-preferences.cpp:323
 msgid "This tool's own style:"
 msgstr "O estilo próprio desta ferramenta:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:318
+#: ../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."
@@ -11093,168 +11620,168 @@ msgstr ""
 "Cada ferramenta deve guardar seu próprio estilo para aplicar para objetos "
 "recém criados. Use o botão abaixo para ajustá-lo."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:323
+#: ../src/ui/dialog/inkscape-preferences.cpp:332
 msgid "Take from selection"
 msgstr "Obter da seleção"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:327
+#: ../src/ui/dialog/inkscape-preferences.cpp:336
 msgid "This tool's style of new objects"
 msgstr "Estilo personalizado:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:335
+#: ../src/ui/dialog/inkscape-preferences.cpp:344
 msgid "Remember the style of the (first) selected object as this tool's style"
 msgstr ""
 "Lembrar do estilo do (primeiro) objeto selecionado como estilo desta "
 "ferramenta"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:340
+#: ../src/ui/dialog/inkscape-preferences.cpp:349
 msgid "Tools"
 msgstr "Ferramentas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:343
+#: ../src/ui/dialog/inkscape-preferences.cpp:352
 msgid "Bounding box to use:"
 msgstr "Caixa delimitadora a usar:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:344
+#: ../src/ui/dialog/inkscape-preferences.cpp:353
 msgid "Visual bounding box"
 msgstr "Visual da caixa delimitadora"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:346
+#: ../src/ui/dialog/inkscape-preferences.cpp:355
 msgid "This bounding box includes stroke width, markers, filter margins, etc."
 msgstr ""
 "Esta caixa delimitadora inclui largura do traço, marcadores, margens de "
 "filtros, etc."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:347
+#: ../src/ui/dialog/inkscape-preferences.cpp:356
 msgid "Geometric bounding box"
 msgstr "Caixa delimitadora geométrica"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:349
+#: ../src/ui/dialog/inkscape-preferences.cpp:358
 msgid "This bounding box includes only the bare path"
 msgstr "Esta caixa delimitadora inclui apenas o caminho expoxto"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:351
+#: ../src/ui/dialog/inkscape-preferences.cpp:360
 msgid "Conversion to guides:"
 msgstr "Conversão em guias"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:352
+#: ../src/ui/dialog/inkscape-preferences.cpp:361
 msgid "Keep objects after conversion to guides"
 msgstr "Manter objetos após conversão em guias"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:354
+#: ../src/ui/dialog/inkscape-preferences.cpp:363
 msgid ""
 "When converting an object to guides, don't delete the object after the "
 "conversion."
 msgstr "Ao converter objetos em guias, não apagá-los após conversão."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:355
+#: ../src/ui/dialog/inkscape-preferences.cpp:364
 #, fuzzy
 msgid "Treat groups as a single object"
 msgstr "Criando ponto único"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:357
+#: ../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 ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:359
+#: ../src/ui/dialog/inkscape-preferences.cpp:368
 msgid "Width is in absolute units"
 msgstr "Largura em unidades absolutas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:360
+#: ../src/ui/dialog/inkscape-preferences.cpp:369
 msgid "Select new path"
 msgstr "Selecionar novo caminho"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:361
+#: ../src/ui/dialog/inkscape-preferences.cpp:370
 msgid "Don't attach connectors to text objects"
 msgstr "Não anexar conectores a textos"
 
 #. Selector
-#: ../src/ui/dialog/inkscape-preferences.cpp:364
+#: ../src/ui/dialog/inkscape-preferences.cpp:373
 msgid "Selector"
 msgstr "Seletor"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:367
+#: ../src/ui/dialog/inkscape-preferences.cpp:376
 msgid "When transforming, show:"
 msgstr "Enquanto tranformar, mostrar:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:368
+#: ../src/ui/dialog/inkscape-preferences.cpp:377
 msgid "Objects"
 msgstr "Objetos"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:370
+#: ../src/ui/dialog/inkscape-preferences.cpp:379
 msgid "Show the actual objects when moving or transforming"
 msgstr "Mostrar os objetos atuais quando mover ou transformar"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:371
+#: ../src/ui/dialog/inkscape-preferences.cpp:380
 msgid "Box outline"
 msgstr "Contorno da caixa"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:373
+#: ../src/ui/dialog/inkscape-preferences.cpp:382
 msgid "Show only a box outline of the objects when moving or transforming"
 msgstr ""
 "Mostrar somente um contorno de caixa dos objetos quando mover ou transformar"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:374
+#: ../src/ui/dialog/inkscape-preferences.cpp:383
 msgid "Per-object selection cue:"
 msgstr "Taco de seleção por objeto:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:377
+#: ../src/ui/dialog/inkscape-preferences.cpp:386
 msgid "No per-object selection indication"
 msgstr "Nenhuma indicação de seleção por objeto"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:378
+#: ../src/ui/dialog/inkscape-preferences.cpp:387
 msgid "Mark"
 msgstr "Marca"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:380
+#: ../src/ui/dialog/inkscape-preferences.cpp:389
 msgid "Each selected object has a diamond mark in the top left corner"
 msgstr ""
 "Cada objeto selecionado tem um marca de diamante no canto esquerdo superior"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:381
+#: ../src/ui/dialog/inkscape-preferences.cpp:390
 msgid "Box"
 msgstr "Caixa"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:383
+#: ../src/ui/dialog/inkscape-preferences.cpp:392
 msgid "Each selected object displays its bounding box"
 msgstr "Cada objeto selecionado exibe sua caixa de limites"
 
 #. Node
-#: ../src/ui/dialog/inkscape-preferences.cpp:386
+#: ../src/ui/dialog/inkscape-preferences.cpp:395
 msgid "Node"
 msgstr "Nó"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:389
+#: ../src/ui/dialog/inkscape-preferences.cpp:398
 #, fuzzy
 msgid "Path outline:"
 msgstr "Contorno da caixa"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:390
-#: ../src/ui/dialog/inkscape-preferences.cpp:391
+#: ../src/ui/dialog/inkscape-preferences.cpp:399
+#: ../src/ui/dialog/inkscape-preferences.cpp:400
 #, fuzzy
 msgid "Path outline color"
 msgstr "Colar cor"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:391
+#: ../src/ui/dialog/inkscape-preferences.cpp:400
 #, fuzzy
 msgid "Selects the color used for showing the path outline."
 msgstr "Selecione uma cor a ser usada quando fora da gama."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:392
+#: ../src/ui/dialog/inkscape-preferences.cpp:401
 msgid "Path outline flash on mouse-over"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:393
+#: ../src/ui/dialog/inkscape-preferences.cpp:402
 msgid "When hovering over a path, briefly flash its outline."
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:395
+#: ../src/ui/dialog/inkscape-preferences.cpp:404
 msgid "Flash time"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:395
+#: ../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 "
@@ -11262,52 +11789,44 @@ msgid ""
 msgstr ""
 
 #. Tweak
-#: ../src/ui/dialog/inkscape-preferences.cpp:398 ../src/verbs.cpp:2419
+#: ../src/ui/dialog/inkscape-preferences.cpp:407 ../src/verbs.cpp:2479
 msgid "Tweak"
 msgstr "Ajuste"
 
+#: ../src/ui/dialog/inkscape-preferences.cpp:408
+#, fuzzy
+msgid "Paint objects with:"
+msgstr "Criar novos objetos com:"
+
 #. 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
+#: ../src/ui/dialog/inkscape-preferences.cpp:413
+#: ../src/ui/view/edit-widget.cpp:1073 ../src/verbs.cpp:2501
+#: ../src/widgets/desktop-widget.cpp:484
 #: ../share/extensions/render_alphabetsoup.inx.h:5
 msgid "Zoom"
 msgstr "Ampliação"
 
 #. Shapes
-#: ../src/ui/dialog/inkscape-preferences.cpp:408
+#: ../src/ui/dialog/inkscape-preferences.cpp:418
 msgid "Shapes"
 msgstr "Formas"
 
 #. Pencil
-#: ../src/ui/dialog/inkscape-preferences.cpp:436 ../src/verbs.cpp:2431
+#: ../src/ui/dialog/inkscape-preferences.cpp:446 ../src/verbs.cpp:2491
 msgid "Pencil"
 msgstr "Lápis"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:439
-#: ../src/ui/dialog/tracedialog.cpp:601
-msgid "Tolerance:"
-msgstr "Tolerância:"
-
-#: ../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 ""
-"Este valor afeta a quantidade de suavização aplicada a linhas de mão-livre; "
-"valores menores produzem mais caminhos não-pares com mais nós"
-
 #. Pen
-#: ../src/ui/dialog/inkscape-preferences.cpp:446 ../src/verbs.cpp:2433
+#: ../src/ui/dialog/inkscape-preferences.cpp:452 ../src/verbs.cpp:2493
 msgid "Pen"
 msgstr "Caneta"
 
 #. Calligraphy
-#: ../src/ui/dialog/inkscape-preferences.cpp:452 ../src/verbs.cpp:2435
+#: ../src/ui/dialog/inkscape-preferences.cpp:458 ../src/verbs.cpp:2495
 msgid "Calligraphy"
 msgstr "Caligrafia"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:456
+#: ../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"
@@ -11316,7 +11835,7 @@ msgstr ""
 "independentemente da ampliação; senão o tamanho da caneta depende da "
 "ampliação para que pareça a mesma a qualquer ampliação."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:458
+#: ../src/ui/dialog/inkscape-preferences.cpp:464
 msgid ""
 "If on, each newly created object will be selected (deselecting previous "
 "selection)"
@@ -11325,87 +11844,92 @@ msgstr ""
 "anterior)"
 
 #. Paint Bucket
-#: ../src/ui/dialog/inkscape-preferences.cpp:460 ../src/verbs.cpp:2447
+#: ../src/ui/dialog/inkscape-preferences.cpp:466 ../src/verbs.cpp:2507
 msgid "Paint Bucket"
 msgstr "Balde de Tinta"
 
 #. Eraser
-#: ../src/ui/dialog/inkscape-preferences.cpp:465 ../src/verbs.cpp:2451
+#: ../src/ui/dialog/inkscape-preferences.cpp:471 ../src/verbs.cpp:2511
 #, fuzzy
 msgid "Eraser"
 msgstr "Rasterizar"
 
+#. LPETool
+#: ../src/ui/dialog/inkscape-preferences.cpp:475 ../src/verbs.cpp:2513
+#, fuzzy
+msgid "LPE Tool"
+msgstr "Ferramentas"
+
 #. Gradient
-#: ../src/ui/dialog/inkscape-preferences.cpp:475 ../src/verbs.cpp:2439
+#: ../src/ui/dialog/inkscape-preferences.cpp:485 ../src/verbs.cpp:2499
 msgid "Gradient"
 msgstr "Degradê"
 
 #. Connector
-#: ../src/ui/dialog/inkscape-preferences.cpp:479 ../src/verbs.cpp:2445
+#: ../src/ui/dialog/inkscape-preferences.cpp:489 ../src/verbs.cpp:2505
 msgid "Connector"
 msgstr "Conector"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:482
+#: ../src/ui/dialog/inkscape-preferences.cpp:492
 msgid "If on, connector attachment points will not be shown for text objects"
 msgstr ""
 "Se ativado, os pontos de ligação dos conectores não serão mostrados para "
 "objetos de texto"
 
 #. Dropper
-#: ../src/ui/dialog/inkscape-preferences.cpp:484 ../src/verbs.cpp:2443
+#: ../src/ui/dialog/inkscape-preferences.cpp:494 ../src/verbs.cpp:2503
 msgid "Dropper"
 msgstr "Borrão"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:491
+#: ../src/ui/dialog/inkscape-preferences.cpp:501
 msgid "Save and restore window geometry for each document"
 msgstr "Salvar e restaurar a geometria das janelas para cada documento"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:492
+#: ../src/ui/dialog/inkscape-preferences.cpp:502
 msgid "Remember and use last window's geometry"
 msgstr "Lembrar e usar a última geometria de janela"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:493
+#: ../src/ui/dialog/inkscape-preferences.cpp:503
 msgid "Don't save window geometry"
 msgstr "Não salvar geometria da janela"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:495
-#: ../src/ui/dialog/inkscape-preferences.cpp:515
+#: ../src/ui/dialog/inkscape-preferences.cpp:505
+#: ../src/ui/dialog/inkscape-preferences.cpp:525
 msgid "Dockable"
 msgstr "Acoplável"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:498
+#: ../src/ui/dialog/inkscape-preferences.cpp:508
 msgid "Dialogs are hidden in taskbar"
 msgstr "Janelas são escondidas na barra de tarefas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:499
+#: ../src/ui/dialog/inkscape-preferences.cpp:509
 msgid "Zoom when window is resized"
 msgstr "Ampliar quando janela for redimensionada"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:500
+#: ../src/ui/dialog/inkscape-preferences.cpp:510
 msgid "Show close button on dialogs"
 msgstr "Mostrar botões de fechar em diálogos"
 
-#. consider moving this to an UI tab:
-#: ../src/ui/dialog/inkscape-preferences.cpp:502
-#: ../src/ui/dialog/inkscape-preferences.cpp:968
+#: ../src/ui/dialog/inkscape-preferences.cpp:512
+#: ../src/ui/dialog/inkscape-preferences.cpp:971
 msgid "Normal"
 msgstr "Normal"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:503
+#: ../src/ui/dialog/inkscape-preferences.cpp:513
 msgid "Aggressive"
 msgstr "Agressivo"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:505
+#: ../src/ui/dialog/inkscape-preferences.cpp:515
 msgid "Saving window geometry (size and position):"
 msgstr "Salvando geometria da janela (tamanho e posição):"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:507
+#: ../src/ui/dialog/inkscape-preferences.cpp:517
 msgid "Let the window manager determine placement of all windows"
 msgstr ""
 "Permitir que o gerenciador de janelas determine o posicionamento de todas as "
 "janelas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:509
+#: ../src/ui/dialog/inkscape-preferences.cpp:519
 msgid ""
 "Remember and use the last window's geometry (saves geometry to user "
 "preferences)"
@@ -11413,7 +11937,7 @@ msgstr ""
 "Lembrar e utilizar a última geometria da janela (salvar nas preferências do "
 "usuário) "
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:511
+#: ../src/ui/dialog/inkscape-preferences.cpp:521
 msgid ""
 "Save and restore window geometry for each document (saves geometry in the "
 "document)"
@@ -11421,36 +11945,54 @@ msgstr ""
 "Salvar e restaurar a geometria da janela para cada documento (salvar no "
 "documento)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:513
+#: ../src/ui/dialog/inkscape-preferences.cpp:523
 msgid "Dialog behavior (requires restart):"
 msgstr "Caixa de diálogo de comportamento (requer reinício):"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:520
+#: ../src/ui/dialog/inkscape-preferences.cpp:530
 msgid "Dialogs on top:"
 msgstr "Janelas no topo:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:523
+#: ../src/ui/dialog/inkscape-preferences.cpp:533
 msgid "Dialogs are treated as regular windows"
 msgstr "Diálogos são tratados como janelas normais"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:525
+#: ../src/ui/dialog/inkscape-preferences.cpp:535
 msgid "Dialogs stay on top of document windows"
 msgstr "Diálogos permanecem acima das janelas de desenho"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:527
+#: ../src/ui/dialog/inkscape-preferences.cpp:537
 msgid "Same as Normal but may work better with some window managers"
 msgstr ""
 "Igual a Normal mas pode funcionar melhor com alguns gerenciadores de janelas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:530
+#: ../src/ui/dialog/inkscape-preferences.cpp:541
+msgid "Dialog Transparency:"
+msgstr ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:543
+#, fuzzy
+msgid "Opacity when focused:"
+msgstr "Canal de Opacidade"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:545
+#, fuzzy
+msgid "Opacity when unfocused:"
+msgstr "Canal de Opacidade"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:547
+msgid "Time of opacity change animation:"
+msgstr ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:550
 msgid "Miscellaneous:"
 msgstr "Miscelânio:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:533
+#: ../src/ui/dialog/inkscape-preferences.cpp:553
 msgid "Whether dialog windows are to be hidden in the window manager taskbar"
 msgstr "Quando janelas de diálogo são escondidas na barra de tarefas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:536
+#: ../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 "
@@ -11460,47 +12002,47 @@ msgstr ""
 "visível (Este é o padrão que pode ser mudado em qualquer janela usando o "
 "botão que está abaixo da barra de rolagem direita)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:538
+#: ../src/ui/dialog/inkscape-preferences.cpp:558
 msgid "Whether dialog windows have a close button (requires restart)"
 msgstr "Janelas de diálogo possuem um botão de fechar (requer reinicialização)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:539
+#: ../src/ui/dialog/inkscape-preferences.cpp:559
 msgid "Windows"
 msgstr "Janelas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:544
+#: ../src/ui/dialog/inkscape-preferences.cpp:564
 msgid "Move in parallel"
 msgstr "Se movem em paralelo"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:546
+#: ../src/ui/dialog/inkscape-preferences.cpp:566
 msgid "Stay unmoved"
 msgstr "Ficam inertes"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:548
+#: ../src/ui/dialog/inkscape-preferences.cpp:568
 msgid "Move according to transform"
 msgstr "Mover de acordo com a tranformação"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:550
+#: ../src/ui/dialog/inkscape-preferences.cpp:570
 msgid "Are unlinked"
 msgstr "São desligados"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:552
+#: ../src/ui/dialog/inkscape-preferences.cpp:572
 msgid "Are deleted"
 msgstr "São apagados"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:555
+#: ../src/ui/dialog/inkscape-preferences.cpp:575
 msgid "When the original moves, its clones and linked offsets:"
 msgstr "Quando o original se move, seus clones e deslocamentos associados:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:557
+#: ../src/ui/dialog/inkscape-preferences.cpp:577
 msgid "Clones are translated by the same vector as their original."
 msgstr "Os clones são transladados pelo mesmo vetor do original."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:559
+#: ../src/ui/dialog/inkscape-preferences.cpp:579
 msgid "Clones preserve their positions when their original is moved."
 msgstr "Os clones preservam suas posições quando o seu original é movido."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:561
+#: ../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 "
@@ -11510,100 +12052,116 @@ msgstr ""
 "Por exemplo, um clone girado se moverá numa direção diferente do seu "
 "original."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:562
+#: ../src/ui/dialog/inkscape-preferences.cpp:582
 msgid "When the original is deleted, its clones:"
 msgstr "Quando o original é apagado, seus clones:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:564
+#: ../src/ui/dialog/inkscape-preferences.cpp:584
 msgid "Orphaned clones are converted to regular objects."
 msgstr "Clones órfãos são convertidos para objetos regulares."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:566
+#: ../src/ui/dialog/inkscape-preferences.cpp:586
 msgid "Orphaned clones are deleted along with their original."
 msgstr "Clones órfãos são apagados juntamente com seu original."
 
+#: ../src/ui/dialog/inkscape-preferences.cpp:588
+msgid "When duplicating original+clones:"
+msgstr ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:590
+#, fuzzy
+msgid "Relink duplicated clones"
+msgstr "Apagar clones ladrilhados"
+
+#: ../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 ""
+
 #. TRANSLATORS: Heading for the Inkscape Preferences "Clones" Page
-#: ../src/ui/dialog/inkscape-preferences.cpp:569
+#: ../src/ui/dialog/inkscape-preferences.cpp:595
 msgid "Clones"
 msgstr "Clones"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:574
+#: ../src/ui/dialog/inkscape-preferences.cpp:600
 msgid "When applying, use the topmost selected object as clippath/mask"
 msgstr ""
 "Use o objeto superior selecionado como caminho para aparagem ou máscara"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:576
+#: ../src/ui/dialog/inkscape-preferences.cpp:602
 msgid ""
 "Uncheck this to use the bottom selected object as the clipping path or mask"
 msgstr ""
 "Desmarque isso para usar o objeto inferior selecionado como caminho de "
 "aparagem ou máscara"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:577
+#: ../src/ui/dialog/inkscape-preferences.cpp:603
 msgid "Remove clippath/mask object after applying"
 msgstr "Remova o caminho de aparagem ou a máscara após aplicar"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:579
+#: ../src/ui/dialog/inkscape-preferences.cpp:605
 msgid ""
 "After applying, remove the object used as the clipping path or mask from the "
 "drawing"
 msgstr ""
 "Após aplicar-se, remover do objeto usado o clip ou a mask para o desenho"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:580
+#: ../src/ui/dialog/inkscape-preferences.cpp:606
 msgid "Clippaths and masks"
 msgstr "Aparagens e máscaras"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:585
-#: ../src/widgets/select-toolbar.cpp:524
+#: ../src/ui/dialog/inkscape-preferences.cpp:611
+#: ../src/widgets/select-toolbar.cpp:531
 msgid "Scale stroke width"
 msgstr "Ampliar largura do traço"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:586
+#: ../src/ui/dialog/inkscape-preferences.cpp:612
 msgid "Scale rounded corners in rectangles"
 msgstr "Ampliar cantos arredondados de retângulos"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:587
+#: ../src/ui/dialog/inkscape-preferences.cpp:613
 msgid "Transform gradients"
 msgstr "Transformar degradês"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:588
+#: ../src/ui/dialog/inkscape-preferences.cpp:614
 msgid "Transform patterns"
 msgstr "Transformar padrões"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:589
+#: ../src/ui/dialog/inkscape-preferences.cpp:615
 msgid "Optimized"
 msgstr "Otimizado"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:590
+#: ../src/ui/dialog/inkscape-preferences.cpp:616
 msgid "Preserved"
 msgstr "Preservada"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:593
-#: ../src/widgets/select-toolbar.cpp:525
+#: ../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 "Ao ampliar objetos, amplie a largura do traço pela mesma proporção"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:595
-#: ../src/widgets/select-toolbar.cpp:536
+#: ../src/ui/dialog/inkscape-preferences.cpp:621
+#: ../src/widgets/select-toolbar.cpp:543
 msgid "When scaling rectangles, scale the radii of rounded corners"
 msgstr "Ao ampliar retângulos, ampliar o raio dos cantos arredondados"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:597
-#: ../src/widgets/select-toolbar.cpp:547
+#: ../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 "Transformar degradês (em preenchimento ou traço) junto com os objetos"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:599
-#: ../src/widgets/select-toolbar.cpp:558
+#: ../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 "Editar padrões (em preenchimento ou no traçado) ao longo dos objetos"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:600
+#: ../src/ui/dialog/inkscape-preferences.cpp:626
 msgid "Store transformation:"
 msgstr "Armazenar transformação:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:602
+#: ../src/ui/dialog/inkscape-preferences.cpp:628
 msgid ""
 "If possible, apply transformation to objects without adding a transform= "
 "attribute"
@@ -11611,40 +12169,40 @@ msgstr ""
 "Se possível, aplicar a transformação para um objeto sem acrescentar um "
 "atributo de transformação"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:604
+#: ../src/ui/dialog/inkscape-preferences.cpp:630
 msgid "Always store transformation as a transform= attribute on objects"
 msgstr ""
 "Sempre armazenar a transformação como um atributo de transformação em objetos"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:606
+#: ../src/ui/dialog/inkscape-preferences.cpp:632
 msgid "Transforms"
 msgstr "Transformações"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:611
+#: ../src/ui/dialog/inkscape-preferences.cpp:637
 msgid "Best quality (slowest)"
 msgstr "Melhor qualidade (mais lento)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:613
+#: ../src/ui/dialog/inkscape-preferences.cpp:639
 msgid "Better quality (slower)"
 msgstr "Qualidade boa (lento)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:615
+#: ../src/ui/dialog/inkscape-preferences.cpp:641
 msgid "Average quality"
 msgstr "Qualidade média"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:617
+#: ../src/ui/dialog/inkscape-preferences.cpp:643
 msgid "Lower quality (faster)"
 msgstr "Qualidade ruim (rápido)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:619
+#: ../src/ui/dialog/inkscape-preferences.cpp:645
 msgid "Lowest quality (fastest)"
 msgstr "Pior qualidade (mais rápido)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:622
+#: ../src/ui/dialog/inkscape-preferences.cpp:648
 msgid "Gaussian blur quality for display:"
 msgstr "Qualidade do desfoque gaussiano para exibição:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:624
+#: ../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)"
@@ -11652,80 +12210,80 @@ msgstr ""
 "Melhor qualidade, mas a exibição poderá ficar lenta com a ampliação "
 "(exportar em bitmap sempre usará a melhor qualidade)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:626
+#: ../src/ui/dialog/inkscape-preferences.cpp:652
 msgid "Better quality, but slower display"
 msgstr "Melhor qualidade, mas exibição lenta"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:628
+#: ../src/ui/dialog/inkscape-preferences.cpp:654
 msgid "Average quality, acceptable display speed"
 msgstr "Qualidade média, velocidade aceitável da exposição"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:630
+#: ../src/ui/dialog/inkscape-preferences.cpp:656
 msgid "Lower quality (some artifacts), but display is faster"
 msgstr "Qualidade baixa (alguns ruídos), mas a exibição é mais rápida"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:632
+#: ../src/ui/dialog/inkscape-preferences.cpp:658
 msgid "Lowest quality (considerable artifacts), but display is fastest"
 msgstr "Pior qualidade (muitos ruídos), mas é a exibição mais rápida"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:634
+#: ../src/ui/dialog/inkscape-preferences.cpp:660
 #, fuzzy
 msgid "Show filter primitives infobox"
 msgstr "Definir atributo de primitiva de filtro"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:636
+#: ../src/ui/dialog/inkscape-preferences.cpp:662
 msgid ""
 "Show icons and descriptions for the filter primitives available at the "
 "filter effects dialog."
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:638
+#: ../src/ui/dialog/inkscape-preferences.cpp:664
 msgid "Filters"
 msgstr "Filtros"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:644
+#: ../src/ui/dialog/inkscape-preferences.cpp:670
 msgid "Select in all layers"
 msgstr "Selecionar em todas as camadas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:645
+#: ../src/ui/dialog/inkscape-preferences.cpp:671
 msgid "Select only within current layer"
 msgstr "Selecionar apenas dentro da camada atual"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:646
+#: ../src/ui/dialog/inkscape-preferences.cpp:672
 msgid "Select in current layer and sublayers"
 msgstr "Selecionar apenas dentro da camada e subcamadas atuais"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:647
+#: ../src/ui/dialog/inkscape-preferences.cpp:673
 #, fuzzy
 msgid "Ignore hidden objects and layers"
 msgstr "Ignorar objetos ocultos"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:648
+#: ../src/ui/dialog/inkscape-preferences.cpp:674
 #, fuzzy
 msgid "Ignore locked objects and layers"
 msgstr "Ignorar objetos bloqueados"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:649
+#: ../src/ui/dialog/inkscape-preferences.cpp:675
 msgid "Deselect upon layer change"
 msgstr "Desfazer seleção ao mudar de camada"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:651
+#: ../src/ui/dialog/inkscape-preferences.cpp:677
 msgid "Ctrl+A, Tab, Shift+Tab:"
 msgstr "Ctrl+A, Tab, Shift+Tab:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:653
+#: ../src/ui/dialog/inkscape-preferences.cpp:679
 msgid "Make keyboard selection commands work on objects in all layers"
 msgstr ""
 "Marque esta opção para fazer os comandos de seleção do teclado trabalharem "
 "com objetos em todas as camadas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:655
+#: ../src/ui/dialog/inkscape-preferences.cpp:681
 msgid "Make keyboard selection commands work on objects in current layer only"
 msgstr ""
 "Marque esta opção para fazer os comandos de seleção do teclado trabalharem "
 "apenas com objetos na camada atual"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:657
+#: ../src/ui/dialog/inkscape-preferences.cpp:683
 msgid ""
 "Make keyboard selection commands work on objects in current layer and all "
 "its sublayers"
@@ -11733,7 +12291,7 @@ msgstr ""
 "Marque esta opção para fazer os comandos de seleção do teclado trabalharem "
 "com objetos na camada atual e em todas as suas subcamadas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:659
+#: ../src/ui/dialog/inkscape-preferences.cpp:685
 #, fuzzy
 msgid ""
 "Uncheck this to be able to select objects that are hidden (either by "
@@ -11742,7 +12300,7 @@ msgstr ""
 "Desmarque esta opção para poder selecionar os objetos que estão escondidos "
 "(que estejam em um grupo ou em uma camada escondida)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:661
+#: ../src/ui/dialog/inkscape-preferences.cpp:687
 #, fuzzy
 msgid ""
 "Uncheck this to be able to select objects that are locked (either by "
@@ -11751,7 +12309,7 @@ msgstr ""
 "Desmarque para poder selecionar objetos que estão travados (por eles mesmos "
 "ou por estarem em uma camada ou grupo travado)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:664
+#: ../src/ui/dialog/inkscape-preferences.cpp:690
 msgid ""
 "Uncheck this to be able to keep the current objects selected when the "
 "current layer changes"
@@ -11759,24 +12317,24 @@ msgstr ""
 "Desmarque para poder manter os objetos selecionados quando a camada atual é "
 "alterada"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:666
+#: ../src/ui/dialog/inkscape-preferences.cpp:692
 msgid "Selecting"
 msgstr "Selecionando"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:673
+#: ../src/ui/dialog/inkscape-preferences.cpp:699
 msgid "Default export resolution:"
 msgstr "Resolução padrão de exportação"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:674
+#: ../src/ui/dialog/inkscape-preferences.cpp:700
 msgid "Default bitmap resolution (in dots per inch) in the Export dialog"
 msgstr ""
 "Resolução padrão de figura (em pontos por polegada) na janela de exportação"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:676
+#: ../src/ui/dialog/inkscape-preferences.cpp:702
 msgid "Open Clip Art Library Server Name:"
 msgstr "Nome de servidor Open Clip Art Library:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:677
+#: ../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."
@@ -11784,456 +12342,429 @@ msgstr ""
 "O nome de servidor webdav do Open Clip Art Library. Usado pelas funções "
 "Importar e Exportar OCAL."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:679
+#: ../src/ui/dialog/inkscape-preferences.cpp:705
 msgid "Open Clip Art Library Username:"
 msgstr "Nome de usuário Open Clip Art Library:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:680
+#: ../src/ui/dialog/inkscape-preferences.cpp:706
 msgid "The username used to log into Open Clip Art Library."
 msgstr "O nome de usuário utilizado para acessar o Open Clip Art Library."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:682
+#: ../src/ui/dialog/inkscape-preferences.cpp:708
 msgid "Open Clip Art Library Password:"
 msgstr "Senha do Open Clip Art Library:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:683
+#: ../src/ui/dialog/inkscape-preferences.cpp:709
 msgid "The password used to log into Open Clip Art Library."
 msgstr "A senha utilizada para acessar o Open Clip Art Library."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:685
+#: ../src/ui/dialog/inkscape-preferences.cpp:711
 msgid "Import/Export"
 msgstr "Importar/Exportar"
 
 #. TRANSLATORS: see http://www.newsandtech.com/issues/2004/03-04/pt/03-04_rendering.htm
-#: ../src/ui/dialog/inkscape-preferences.cpp:731
+#: ../src/ui/dialog/inkscape-preferences.cpp:761
 msgid "Perceptual"
 msgstr "Perceptivo"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:731
+#: ../src/ui/dialog/inkscape-preferences.cpp:761
 msgid "Relative Colorimetric"
 msgstr "Colorimetria Relativa"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:731
+#: ../src/ui/dialog/inkscape-preferences.cpp:761
 msgid "Absolute Colorimetric"
 msgstr "Colorimetria Absoluta"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:735
+#: ../src/ui/dialog/inkscape-preferences.cpp:765
 msgid "(Note: Color management has been disabled in this build)"
 msgstr "(Nota: o Gerenciamento de Cores foi desabilitado nesta construção)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:739
+#: ../src/ui/dialog/inkscape-preferences.cpp:769
 msgid "Display adjustment"
 msgstr "Ajustes de exibição"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:741
+#: ../src/ui/dialog/inkscape-preferences.cpp:771
 msgid "Display profile:"
 msgstr "Perfil de exibição:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:742
+#: ../src/ui/dialog/inkscape-preferences.cpp:772
 msgid "The ICC profile to use to calibrate display output."
 msgstr "O perfil ICC utilizado para calibrar a exibição de saída."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:744
+#: ../src/ui/dialog/inkscape-preferences.cpp:774
 msgid "Retrieve profile from display"
 msgstr "Obter perfil de exibição"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:747
+#: ../src/ui/dialog/inkscape-preferences.cpp:777
 msgid "Retrieve profiles from those attached to displays via XICC."
 msgstr "Obter perfis de exibição existentes via XICC."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:749
+#: ../src/ui/dialog/inkscape-preferences.cpp:779
 msgid "Retrieve profiles from those attached to displays."
 msgstr "Obter perfis de exibição existentes."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:754
+#: ../src/ui/dialog/inkscape-preferences.cpp:784
 msgid "Display rendering intent:"
 msgstr "Intenção de renderização na exibição:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:755
-#: ../src/ui/dialog/inkscape-preferences.cpp:778
+#: ../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 "Intenção de renderização a usar para calibrar a saída de exibição."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:757
+#: ../src/ui/dialog/inkscape-preferences.cpp:787
 msgid "Proofing"
 msgstr "Finalizando"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:759
+#: ../src/ui/dialog/inkscape-preferences.cpp:789
 msgid "Simulate output on screen"
 msgstr "Simular saída na tela"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:761
+#: ../src/ui/dialog/inkscape-preferences.cpp:791
 msgid "Simulates output of target device."
 msgstr "Simula a saída do dispositivo alvo."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:763
+#: ../src/ui/dialog/inkscape-preferences.cpp:793
 msgid "Mark out of gamut colors"
 msgstr "Marcar cores fora da gama"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:765
+#: ../src/ui/dialog/inkscape-preferences.cpp:795
 msgid "Highlights colors that are out of gamut for the target device."
 msgstr "Destaca cores que estão fora da gama do dispositivo alvo."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:770
+#: ../src/ui/dialog/inkscape-preferences.cpp:800
 msgid "Out of gamut warning color:"
 msgstr "Cor de alerta quando fora da gama"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:771
+#: ../src/ui/dialog/inkscape-preferences.cpp:801
 msgid "Selects the color used for out of gamut warning."
 msgstr "Selecione uma cor a ser usada quando fora da gama."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:773
+#: ../src/ui/dialog/inkscape-preferences.cpp:803
 msgid "Device profile:"
 msgstr "Perfil de dispositivo:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:774
+#: ../src/ui/dialog/inkscape-preferences.cpp:804
 msgid "The ICC profile to use to simulate device output."
 msgstr "Perfil ICC usado para simular o dispositivo de saída."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:777
+#: ../src/ui/dialog/inkscape-preferences.cpp:807
 msgid "Device rendering intent:"
 msgstr "Intenção de renderização na exibição:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:780
+#: ../src/ui/dialog/inkscape-preferences.cpp:810
 msgid "Black point compensation"
 msgstr "Compensação de Ponto Preto"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:782
+#: ../src/ui/dialog/inkscape-preferences.cpp:812
 msgid "Enables black point compensation."
 msgstr "Ativa a compensação de Ponto Preto."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:784
+#: ../src/ui/dialog/inkscape-preferences.cpp:814
 msgid "Preserve black"
 msgstr "Preservar preto"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:789
+#: ../src/ui/dialog/inkscape-preferences.cpp:819
 msgid "(LittleCMS 1.15 or later required)"
 msgstr "(LittleCMS 1.15 ou mais recente é requerido)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:791
+#: ../src/ui/dialog/inkscape-preferences.cpp:821
 #, fuzzy
 msgid "Preserve K channel in CMYK -> CMYK transforms"
 msgstr "Preservar o canal K em transformações CMYK -> CMYK"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:804
+#: ../src/ui/dialog/inkscape-preferences.cpp:834
 #, fuzzy
 msgid "<none>"
 msgstr "nenhum"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:850
+#: ../src/ui/dialog/inkscape-preferences.cpp:879
 msgid "Color management"
 msgstr "Gerenciamento de cor"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:855
+#: ../src/ui/dialog/inkscape-preferences.cpp:884
 #, fuzzy
 msgid "Major grid line emphasizing"
 msgstr "_Linha de grade maior a cada:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:857
+#: ../src/ui/dialog/inkscape-preferences.cpp:886
 msgid "Don't emphasize gridlines when zoomed out"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:858
+#: ../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 ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:860
+#: ../src/ui/dialog/inkscape-preferences.cpp:889
 #, fuzzy
 msgid "Default grid settings"
 msgstr "Configurações da página"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:866
-#: ../src/ui/dialog/inkscape-preferences.cpp:887
+#: ../src/ui/dialog/inkscape-preferences.cpp:895
+#: ../src/ui/dialog/inkscape-preferences.cpp:916
 #, fuzzy
-msgid "Grid units"
+msgid "Grid units:"
 msgstr "_Unidades da grade:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:869
-#: ../src/ui/dialog/inkscape-preferences.cpp:890
+#: ../src/ui/dialog/inkscape-preferences.cpp:898
+#: ../src/ui/dialog/inkscape-preferences.cpp:919
 #, fuzzy
-msgid "Origin X"
+msgid "Origin X:"
 msgstr "_Origem X:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:870
-#: ../src/ui/dialog/inkscape-preferences.cpp:891
+#: ../src/ui/dialog/inkscape-preferences.cpp:899
+#: ../src/ui/dialog/inkscape-preferences.cpp:920
 #, fuzzy
-msgid "Origin Y"
+msgid "Origin Y:"
 msgstr "O_rigem Y:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:873
+#: ../src/ui/dialog/inkscape-preferences.cpp:902
 #, fuzzy
-msgid "Spacing X"
+msgid "Spacing X:"
 msgstr "Espaçamento _X:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:874
-#: ../src/ui/dialog/inkscape-preferences.cpp:893
+#: ../src/ui/dialog/inkscape-preferences.cpp:903
+#: ../src/ui/dialog/inkscape-preferences.cpp:922
 #, fuzzy
-msgid "Spacing Y"
+msgid "Spacing Y:"
 msgstr "Espaçamento _Y:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:877
-#: ../src/ui/dialog/inkscape-preferences.cpp:899
-msgid "Selects the color used for normal grid lines."
-msgstr ""
+#: ../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
+#, fuzzy
+msgid "Grid line color:"
+msgstr "_Cor da linha de grade:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:879
-#: ../src/ui/dialog/inkscape-preferences.cpp:901
-msgid "Selects the color used for major (highlighted) grid lines."
+#: ../src/ui/dialog/inkscape-preferences.cpp:906
+#: ../src/ui/dialog/inkscape-preferences.cpp:928
+#, fuzzy
+msgid "Color used for normal grid lines"
+msgstr "Cor das linhas de grade"
+
+#: ../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
+#, fuzzy
+msgid "Major grid line color:"
+msgstr "Cor da linha de grade ma_ior:"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:908
+#: ../src/ui/dialog/inkscape-preferences.cpp:930
+#, fuzzy
+msgid "Color used for major (highlighted) grid lines"
 msgstr "Cor da linha de grade maior (destacada)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:881
-#: ../src/ui/dialog/inkscape-preferences.cpp:903
-msgid "Major grid line every"
-msgstr "Linha de grade maior a cada:"
+#: ../src/ui/dialog/inkscape-preferences.cpp:910
+#: ../src/ui/dialog/inkscape-preferences.cpp:932
+#, fuzzy
+msgid "Major grid line every:"
+msgstr "_Linha de grade maior a cada:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:882
+#: ../src/ui/dialog/inkscape-preferences.cpp:911
 msgid "Show dots instead of lines"
 msgstr "Mostrar pontos ao invés de linhas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:896
-#, fuzzy
-msgid "Angle X"
-msgstr "Ângulo X:"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:897
+#: ../src/ui/dialog/inkscape-preferences.cpp:912
 #, fuzzy
-msgid "Angle Z"
-msgstr "Ângulo Z:"
+msgid "If set, display dots at gridpoints instead of gridlines"
+msgstr "Mostrar pontos na grade ao invés de linhas"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:910
+#: ../src/ui/dialog/inkscape-preferences.cpp:939
 #, fuzzy
 msgid "Use named colors"
 msgstr "Ajustar a cor escolhida"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:911
-msgid "If set, write the CSS name of the color instead of it's numeric value."
+#: ../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 ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:913
-msgid "XML looks"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:942
+#, fuzzy
+msgid "XML formatting"
+msgstr "Informação"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:915
+#: ../src/ui/dialog/inkscape-preferences.cpp:944
 #, fuzzy
 msgid "Inline attributes"
 msgstr "Ajustar atributo"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:916
-#, fuzzy
-msgid "Inline the XML attributes"
-msgstr "Apagar atributo"
+#: ../src/ui/dialog/inkscape-preferences.cpp:945
+msgid "Put attributes on the same line as the element tag"
+msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:919
+#: ../src/ui/dialog/inkscape-preferences.cpp:948
 #, fuzzy
-msgid "Indent spaces"
+msgid "Indent, spaces:"
 msgstr "Indentar nó"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:919
+#: ../src/ui/dialog/inkscape-preferences.cpp:948
 #, fuzzy
-msgid "The number of spaces to use for indentation."
+msgid ""
+"The number of spaces to use for indenting nested elements; set to 0 for no "
+"indentation"
 msgstr "O número de caminhos que serão gerados."
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:921
+#: ../src/ui/dialog/inkscape-preferences.cpp:950
 #, fuzzy
-msgid "Path string"
-msgstr "  frase: "
+msgid "Path data"
+msgstr "Colar caminho"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:923
+#: ../src/ui/dialog/inkscape-preferences.cpp:952
 #, fuzzy
 msgid "Allow relative coordinates"
 msgstr "Use coordenadas polar"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:924
+#: ../src/ui/dialog/inkscape-preferences.cpp:953
 msgid "If set, relative coordinates may be used in path data"
 msgstr ""
 
-#. 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
+#: ../src/ui/dialog/inkscape-preferences.cpp:955
 msgid "Force repeat commands"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:932
+#: ../src/ui/dialog/inkscape-preferences.cpp:956
 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')."
+"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:934
-msgid "Numeric data"
-msgstr ""
+#: ../src/ui/dialog/inkscape-preferences.cpp:958
+#, fuzzy
+msgid "Numbers"
+msgstr "Numerar Nós"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:937
+#: ../src/ui/dialog/inkscape-preferences.cpp:961
 #, fuzzy
-msgid "Numeric precision"
+msgid "Numeric precision:"
 msgstr "Precisão"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:937
-msgid "The number of digits to use behind the comma."
+#: ../src/ui/dialog/inkscape-preferences.cpp:961
+msgid "How many digits to write after the decimal dot"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:940
+#: ../src/ui/dialog/inkscape-preferences.cpp:964
 #, fuzzy
-msgid "Minimum exponent"
+msgid "Minimum exponent:"
 msgstr "Tamanho mínimo"
 
-#: ../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/inkscape-preferences.cpp:947
-msgid "Add label comments to printing output"
-msgstr "Adicionar etiqueta de comentários à saída de impressão"
-
-#: ../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 ""
-"Se ativado, um comentário será adicionado à saída de impressão padrão, "
-"marcando a saída restituída para um objeto com esta etiqueta"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:951
-msgid "Prevent sharing of gradient definitions"
-msgstr "Prevenir compartilhamento de definições de degradê"
-
-#: ../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 ""
-"Quando habilitada, definições de degradê compartilhadas são automaticamente "
-"diferenciadas quando alteradas; desmarque para permitir o compartilhamento "
-"de definições de degradê de modo que a alteração de um objeto afete todos "
-"utilizando o mesmo degradê."
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:955
-msgid "Simplification threshold:"
-msgstr "Limiar de simplificação:"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:956
+#: ../src/ui/dialog/inkscape-preferences.cpp:964
 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."
+"The smallest number written to SVG is 10 to the power of this exponent; "
+"anything smaller is written as zero."
 msgstr ""
-"Quão forte é o comando Simplificar por padrão. Se este comando for invocado "
-"diversas vezes em intervalos curtos, ele agirá mais agressivamente; "
-"invocando-o novamente após uma pausa restaura o limiar padrão."
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:958
-msgid "2x2"
-msgstr "2x2"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:958
-msgid "4x4"
-msgstr "4x4"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:958
-msgid "8x8"
-msgstr "8x8"
-
-#: ../src/ui/dialog/inkscape-preferences.cpp:958
-msgid "16x16"
-msgstr "16x16"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:962
-msgid "Oversample bitmaps:"
-msgstr "Sobrepor bitmaps:"
+#: ../src/ui/dialog/inkscape-preferences.cpp:966
+#, fuzzy
+msgid "SVG output"
+msgstr "Saída SVG"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:972
+#: ../src/ui/dialog/inkscape-preferences.cpp:975
 #, fuzzy
 msgid "Commands bar icon size"
 msgstr "Barra de Comandos"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:973
+#: ../src/ui/dialog/inkscape-preferences.cpp:976
 #, fuzzy
 msgid "Set the size for the commands toolbar to use (requires restart)"
 msgstr ""
 "Faz com que a barra de ferramentas principal utilize o tamanho "
 "'secundário' (é necessário reiniciar)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:976
+#: ../src/ui/dialog/inkscape-preferences.cpp:979
 #, fuzzy
 msgid "Tool controls bar icon size"
 msgstr "Barra de Controles de Ferramenta"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:977
+#: ../src/ui/dialog/inkscape-preferences.cpp:980
 #, fuzzy
 msgid "Set the size for the secondary toolbar to use (requires restart)"
 msgstr ""
 "Faz com que a barra de ferramentas principal utilize o tamanho "
 "'secundário' (é necessário reiniciar)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:980
+#: ../src/ui/dialog/inkscape-preferences.cpp:983
 #, fuzzy
 msgid "Main toolbar icon size"
 msgstr "Tornar ícones da barra de ferramentas principal menores"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:981
+#: ../src/ui/dialog/inkscape-preferences.cpp:984
 #, fuzzy
 msgid "Set the size for the main tools to use (requires restart)"
 msgstr ""
 "Faz com que a barra de ferramentas principal utilize o tamanho "
 "'secundário' (é necessário reiniciar)"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:984
-msgid "Maximum number of recent documents:"
+#: ../src/ui/dialog/inkscape-preferences.cpp:987
+#, fuzzy
+msgid "Maximum documents in Open Recent:"
 msgstr "Máximo de documentos recentes:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:985
+#: ../src/ui/dialog/inkscape-preferences.cpp:988
 msgid "The maximum length of the Open Recent list in the File menu"
 msgstr ""
 "O tamanho máximo para a lista do menu Abrir Recentes, localizado no menu "
 "Arquivo"
 
+#: ../src/ui/dialog/inkscape-preferences.cpp:991
+msgid "Zoom correction factor (in %):"
+msgstr ""
+
+#: ../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 ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:994
+#, fuzzy
+msgid "Interface"
+msgstr "Interpolar"
+
 #. Autosave options
-#: ../src/ui/dialog/inkscape-preferences.cpp:990
+#: ../src/ui/dialog/inkscape-preferences.cpp:1001
 #, fuzzy
-msgid "Enable auto-save of document"
-msgstr "Traçar: Nenhum desenho ativo."
+msgid "Enable autosave (requires restart)"
+msgstr "Caixa de diálogo de comportamento (requer reinício):"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:991
+#: ../src/ui/dialog/inkscape-preferences.cpp:1002
 msgid ""
-"Automatically saves the current document to disk at a given interval, thus "
-"minimizing loss at a crash"
+"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:993
+#: ../src/ui/dialog/inkscape-preferences.cpp:1004
 msgid "Interval (in minutes):"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:993
-msgid ""
-"Sets the interval (in minutes) at which a workspace will be automatically "
-"saved to disk"
+#: ../src/ui/dialog/inkscape-preferences.cpp:1004
+msgid "Interval (in minutes) at which document will be autosaved"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:995
+#: ../src/ui/dialog/inkscape-preferences.cpp:1006
 #, fuzzy
 msgid "Path:"
 msgstr "Caminho"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:995
-msgid "Sets the directory where autosaves will be written"
+#: ../src/ui/dialog/inkscape-preferences.cpp:1006
+msgid "The directory where autosaves will be written"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:997
+#: ../src/ui/dialog/inkscape-preferences.cpp:1008
 #, fuzzy
-msgid "Maximum number of autosaves"
+msgid "Maximum number of autosaves:"
 msgstr "Máximo de documentos recentes:"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:997
+#: ../src/ui/dialog/inkscape-preferences.cpp:1008
 msgid ""
-"Allows for limiting the space used by autosaves, by setting a maximum number "
-"of allowed files"
+"Maximum number of autosaved files; use this to limit the storage space used"
 msgstr ""
 
 #. When changing the interval or enabling/disabling the autosave function,
@@ -12246,75 +12777,193 @@ msgstr ""
 #. * 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 );
+#. _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:1015
+#: ../src/ui/dialog/inkscape-preferences.cpp:1026
+#, fuzzy
+msgid "Autosave"
+msgstr "_Autores"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1032
+msgid "2x2"
+msgstr "2x2"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1032
+msgid "4x4"
+msgstr "4x4"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1032
+msgid "8x8"
+msgstr "8x8"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1032
+msgid "16x16"
+msgstr "16x16"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1036
+msgid "Oversample bitmaps:"
+msgstr "Sobrepor bitmaps:"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1039
 msgid "Automatically reload bitmaps"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:1017
-msgid "Enbles automatic reload of linked images when changed on disk."
+#: ../src/ui/dialog/inkscape-preferences.cpp:1041
+msgid "Automatically reload linked images when file is changed on disk"
 msgstr ""
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:1030
+#: ../src/ui/dialog/inkscape-preferences.cpp:1055
 #, fuzzy
 msgid "Bitmap editor:"
 msgstr "Editor de degradê"
 
-#: ../src/ui/dialog/inkscape-preferences.cpp:1036
+#: ../src/ui/dialog/inkscape-preferences.cpp:1061
+msgid "Resolution for Create Bitmap Copy:"
+msgstr ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1062
+msgid "Resolution used by the Create Bitmap Copy command"
+msgstr ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1064
+#, fuzzy
+msgid "Bitmaps"
+msgstr "Parcela Constante"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1070
+msgid "Add label comments to printing output"
+msgstr "Adicionar etiqueta de comentários à saída de impressão"
+
+#: ../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 ""
+"Se ativado, um comentário será adicionado à saída de impressão padrão, "
+"marcando a saída restituída para um objeto com esta etiqueta"
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1074
+msgid "Prevent sharing of gradient definitions"
+msgstr "Prevenir compartilhamento de definições de degradê"
+
+#: ../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 ""
+"Quando habilitada, definições de degradê compartilhadas são automaticamente "
+"diferenciadas quando alteradas; desmarque para permitir o compartilhamento "
+"de definições de degradê de modo que a alteração de um objeto afete todos "
+"utilizando o mesmo degradê."
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1079
+msgid "Simplification threshold:"
+msgstr "Limiar de simplificação:"
+
+#: ../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 ""
+"Quão forte é o comando Simplificar por padrão. Se este comando for invocado "
+"diversas vezes em intervalos curtos, ele agirá mais agressivamente; "
+"invocando-o novamente após uma pausa restaura o limiar padrão."
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1083
+msgid "Latency skew:"
+msgstr ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1083
+#, fuzzy
+msgid "(requires restart)"
+msgstr "Caixa de diálogo de comportamento (requer reinício):"
+
+#: ../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 ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1086
+msgid "Pre-render named icons"
+msgstr ""
+
+#: ../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 ""
+
+#: ../src/ui/dialog/inkscape-preferences.cpp:1090
 msgid "Misc"
 msgstr "Outros"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:74
+#: ../src/ui/dialog/livepatheffect-editor.cpp:76
 msgid "Apply new effect"
 msgstr "Aplicar novo efeito"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:75
+#: ../src/ui/dialog/livepatheffect-editor.cpp:77
 msgid "Current effect"
 msgstr "Efeito atual"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:76
+#: ../src/ui/dialog/livepatheffect-editor.cpp:78
 #, fuzzy
 msgid "Effect list"
 msgstr "Efeito_s"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:239
+#: ../src/ui/dialog/livepatheffect-editor.cpp:266
 msgid "Unknown effect is applied"
 msgstr "Efeito desconhecido está aplicado"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:242
+#: ../src/ui/dialog/livepatheffect-editor.cpp:269
 msgid "No effect applied"
 msgstr "Nenhum efeito aplicado"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:248
+#: ../src/ui/dialog/livepatheffect-editor.cpp:273
 #, fuzzy
 msgid "Item is not a path or shape"
 msgstr "O item não é uma forma ou caminho"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:252
+#: ../src/ui/dialog/livepatheffect-editor.cpp:277
 msgid "Only one item can be selected"
 msgstr "Apenas um item pode ser selecionado"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:256
+#: ../src/ui/dialog/livepatheffect-editor.cpp:281
 msgid "Empty selection"
 msgstr "Esvaziar seleção"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:349
+#: ../src/ui/dialog/livepatheffect-editor.cpp:364
+msgid "Create and apply path effect"
+msgstr "Criar e aplicar efeito de caminho"
+
+#: ../src/ui/dialog/livepatheffect-editor.cpp:381
 msgid "Remove path effect"
 msgstr "Remover efeito de caminho"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:366
+#: ../src/ui/dialog/livepatheffect-editor.cpp:397
 #, fuzzy
 msgid "Move path effect up"
 msgstr "Remover efeito de caminho"
 
-#: ../src/ui/dialog/livepatheffect-editor.cpp:384
+#: ../src/ui/dialog/livepatheffect-editor.cpp:413
 #, fuzzy
 msgid "Move path effect down"
 msgstr "Remover efeito de caminho"
 
+#: ../src/ui/dialog/livepatheffect-editor.cpp:450
+#, fuzzy
+msgid "Activate path effect"
+msgstr "Colar efeito de caminho ao vivo"
+
+#: ../src/ui/dialog/livepatheffect-editor.cpp:450
+#, fuzzy
+msgid "Deactivate path effect"
+msgstr "Colar efeito de caminho ao vivo"
+
 #: ../src/ui/dialog/memory.cpp:94
 msgid "Heap"
 msgstr "Pilha"
@@ -12358,23 +13007,23 @@ msgstr ""
 "Habilitar a exibição de mensagens de depuração mudando no dialogs.debug o "
 "atributo 'redirect' para 1 em preferences.xml"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:77
+#: ../src/ui/dialog/ocaldialogs.cpp:78
 msgid "File"
 msgstr "Arquivo"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:175
+#: ../src/ui/dialog/ocaldialogs.cpp:176
 msgid "Username:"
 msgstr "Nome do usuário:"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:176
+#: ../src/ui/dialog/ocaldialogs.cpp:177
 msgid "Password:"
 msgstr "Senha:"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:402
+#: ../src/ui/dialog/ocaldialogs.cpp:404
 msgid "Error while reading the Open Clip Art RSS feed"
 msgstr ""
 
-#: ../src/ui/dialog/ocaldialogs.cpp:440
+#: ../src/ui/dialog/ocaldialogs.cpp:443
 #, fuzzy
 msgid ""
 "Failed to receive the Open Clip Art Library RSS feed. Verify if the server "
@@ -12383,54 +13032,54 @@ msgstr ""
 "Falha ao receber o feed RSS Open Clip Art Library. Verifique se o nome do "
 "servidor está correto em Configuração -> Outros (ex.: openclipart.org)"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:454
+#: ../src/ui/dialog/ocaldialogs.cpp:457
 msgid "Server supplied malformed Clip Art feed"
 msgstr ""
 
-#: ../src/ui/dialog/ocaldialogs.cpp:545
+#: ../src/ui/dialog/ocaldialogs.cpp:548
 #, fuzzy
 msgid "Search for:"
 msgstr "Procurar"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:546
+#: ../src/ui/dialog/ocaldialogs.cpp:549
 msgid "No files matched your search"
 msgstr "Nenhum arquivo correspondeu à sua busca"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:557
+#: ../src/ui/dialog/ocaldialogs.cpp:560
 msgid "Search"
 msgstr "Procurar"
 
-#: ../src/ui/dialog/ocaldialogs.cpp:574
+#: ../src/ui/dialog/ocaldialogs.cpp:577
 #, fuzzy
 msgid "Files found"
 msgstr "Arquivos Encontrados"
 
-#: ../src/ui/dialog/print.cpp:138
+#: ../src/ui/dialog/print.cpp:142
 msgid "Could not open temporary PNG for bitmap printing"
 msgstr ""
 
-#: ../src/ui/dialog/print.cpp:173
+#: ../src/ui/dialog/print.cpp:177
 #, fuzzy
 msgid "Could not set up Document"
 msgstr "Não foi possível interpretar os dados do SVG"
 
-#: ../src/ui/dialog/print.cpp:177
+#: ../src/ui/dialog/print.cpp:181
 msgid "Failed to set CairoRenderContext"
 msgstr ""
 
 #. set up dialog title, based on document name
-#: ../src/ui/dialog/print.cpp:217
+#: ../src/ui/dialog/print.cpp:221
 #, fuzzy
 msgid "SVG Document"
 msgstr "Documento"
 
-#: ../src/ui/dialog/print.cpp:218
+#: ../src/ui/dialog/print.cpp:222
 #, fuzzy
 msgid "Print"
 msgstr "Ponto"
 
 #. build custom preferences tab
-#: ../src/ui/dialog/print.cpp:245
+#: ../src/ui/dialog/print.cpp:249
 #, fuzzy
 msgid "Rendering"
 msgstr "Renderizar"
@@ -12531,6 +13180,59 @@ msgstr ""
 msgid "Open session file"
 msgstr "_Gravar arquivo da sessão:"
 
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:111
+#, fuzzy
+msgid "Set SVG Font attribute"
+msgstr "Ajustar atributo"
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:261
+#, fuzzy
+msgid "Set width:"
+msgstr "Escala de largura"
+
+#. Kerning Setup:
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:287
+#, fuzzy
+msgid "Kerning Setup:"
+msgstr "Aumentar Kern"
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:289
+msgid "1st Glyph:"
+msgstr ""
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:291
+msgid "2nd Glyph:"
+msgstr ""
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:302
+#, fuzzy
+msgid "Kerning value:"
+msgstr "Limpar os valores"
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:322
+#, fuzzy
+msgid "_Font"
+msgstr "Fonte"
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:330
+#, fuzzy
+msgid "_Global Settings"
+msgstr "Configurações da página"
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:331
+msgid "_Glyphs"
+msgstr ""
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:332
+#, fuzzy
+msgid "_Kerning"
+msgstr "_Desenho"
+
+#: ../src/ui/dialog/svg-fonts-dialog.cpp:344
+#, fuzzy
+msgid "Preview Text:"
+msgstr "Visualização"
+
 #. #### begin left panel
 #. ### begin notebook
 #. ## begin mode page
@@ -12712,6 +13414,10 @@ msgstr ""
 "Aumente isto pra reduzir o número de nós no traço através de uma otimização "
 "mais agressiva"
 
+#: ../src/ui/dialog/tracedialog.cpp:601
+msgid "Tolerance:"
+msgstr "Tolerância:"
+
 #. ## end option page
 #: ../src/ui/dialog/tracedialog.cpp:607 ../src/ui/dialog/tracedialog.cpp:613
 msgid "Options"
@@ -12952,69 +13658,69 @@ msgid "P_ort:"
 msgstr "_Exportar"
 
 #. Buttons
-#: ../src/ui/dialog/whiteboard-connect.cpp:113
+#: ../src/ui/dialog/whiteboard-connect.cpp:115
 #, fuzzy
 msgid "Connect"
 msgstr "Conector"
 
-#: ../src/ui/dialog/whiteboard-connect.cpp:144
+#: ../src/ui/dialog/whiteboard-connect.cpp:146
 msgid "Establishing connection to Jabber server <b>%1</b>"
 msgstr ""
 
-#: ../src/ui/dialog/whiteboard-connect.cpp:171
-#: ../src/ui/dialog/whiteboard-connect.cpp:216
-#: ../src/ui/dialog/whiteboard-connect.cpp:254
+#: ../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 <b>%1</b>"
 msgstr ""
 
-#: ../src/ui/dialog/whiteboard-connect.cpp:209
+#: ../src/ui/dialog/whiteboard-connect.cpp:212
 msgid "Establishing connection to Jabber server <b>%1</b> as user <b>%2</b>"
 msgstr ""
 
-#: ../src/ui/dialog/whiteboard-connect.cpp:221
+#: ../src/ui/dialog/whiteboard-connect.cpp:224
 msgid "Authentication failed on Jabber server <b>%1</b> as <b>%2</b>"
 msgstr ""
 
-#: ../src/ui/dialog/whiteboard-connect.cpp:226
-#: ../src/ui/dialog/whiteboard-connect.cpp:264
+#: ../src/ui/dialog/whiteboard-connect.cpp:229
+#: ../src/ui/dialog/whiteboard-connect.cpp:267
 msgid "SSL initialization failed when connecting to Jabber server <b>%1</b>"
 msgstr ""
 
-#: ../src/ui/dialog/whiteboard-connect.cpp:232
-#: ../src/ui/dialog/whiteboard-connect.cpp:270
+#: ../src/ui/dialog/whiteboard-connect.cpp:235
+#: ../src/ui/dialog/whiteboard-connect.cpp:273
 msgid "Connected to Jabber server <b>%1</b> as <b>%2</b>"
 msgstr ""
 
-#: ../src/ui/dialog/whiteboard-connect.cpp:259
+#: ../src/ui/dialog/whiteboard-connect.cpp:262
 msgid "Registration failed on Jabber server <b>%1</b> as <b>%2</b>"
 msgstr ""
 
 #. Construct labels
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:75
+#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:74
 #, fuzzy
 msgid "Chatroom _name:"
 msgstr "Nome da camada:"
 
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:76
+#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:75
 msgid "Chatroom _server:"
 msgstr ""
 
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:77
+#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:76
 msgid "Chatroom _password:"
 msgstr ""
 
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:78
+#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:77
 #, fuzzy
 msgid "Chatroom _handle:"
 msgstr "Mudar manualmente"
 
 #. Button setup and callback registration
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:102
+#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:101
 #, fuzzy
 msgid "Connect to chatroom"
 msgstr "Conector"
 
-#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:137
+#: ../src/ui/dialog/whiteboard-sharewithchat.cpp:136
 msgid "Synchronizing with chatroom <b>%1@%2</b> using the handle <b>%3</b>"
 msgstr ""
 
@@ -13174,16 +13880,16 @@ msgstr ""
 msgid "PLACEHOLDER, do not translate"
 msgstr "PLACEHOLDER, do not translate"
 
-#: ../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:379
 msgid "Zoom drawing if window size changes"
 msgstr "Ajustar nível de zoom do desenho se o tamanho da janela mudar"
 
-#: ../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:504
 msgid "Cursor coordinates"
 msgstr "Coordenadas do cursor"
 
 #. display the initial welcome message in the statusbar
-#: ../src/ui/view/edit-widget.cpp:1100 ../src/widgets/desktop-widget.cpp:558
+#: ../src/ui/view/edit-widget.cpp:1100 ../src/widgets/desktop-widget.cpp:552
 msgid ""
 "<b>Welcome to Inkscape!</b> Use shape or freehand tools to create objects; "
 "use selector (arrow) to move or transform them."
@@ -13191,7 +13897,7 @@ msgstr ""
 "<b>Bem vindo ao Inkscape!</b> Use as ferramentas de forma ou mão-livre para "
 "criar objetos. Use o seletor (seta) para mover ou transformá-los."
 
-#: ../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:839
 #, c-format
 msgid ""
 "<span weight=\"bold\" size=\"larger\">Save changes to document \"%s\" before "
@@ -13205,11 +13911,11 @@ msgstr ""
 "Se você fechar sem salvar, suas modificações serão descartadas."
 
 #: ../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/widgets/desktop-widget.cpp:846 ../src/widgets/desktop-widget.cpp:902
 msgid "Close _without saving"
 msgstr "Fechar _sem salvar"
 
-#: ../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:894
 #, fuzzy, c-format
 msgid ""
 "<span weight=\"bold\" size=\"larger\">The file \"%s\" was saved with a "
@@ -13222,7 +13928,7 @@ msgstr ""
 "\n"
 "Deseja salvar este arquivo em outro formato?"
 
-#: ../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:905
 msgid "_Save as SVG"
 msgstr ""
 
@@ -13242,64 +13948,58 @@ msgstr "Proprietário"
 msgid "Other"
 msgstr "Outro"
 
-#: ../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 "Opacidade, %"
-
-#: ../src/ui/widget/object-composite-settings.cpp:152
+#: ../src/ui/widget/object-composite-settings.cpp:158
 msgid "Change blur"
 msgstr "Mudar desfoque"
 
-#: ../src/ui/widget/object-composite-settings.cpp:192
-#: ../src/ui/widget/selected-style.cpp:855
-#: ../src/ui/widget/selected-style.cpp:1149
+#: ../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 "Alterar opacidade"
 
-#: ../src/ui/widget/page-sizer.cpp:190
+#: ../src/ui/widget/page-sizer.cpp:208
 msgid "U_nits:"
 msgstr "U_nidades:"
 
-#: ../src/ui/widget/page-sizer.cpp:191
+#: ../src/ui/widget/page-sizer.cpp:209
 msgid "Width of paper"
 msgstr "Largura do papel"
 
-#: ../src/ui/widget/page-sizer.cpp:192
+#: ../src/ui/widget/page-sizer.cpp:210
 msgid "_Height:"
 msgstr "_Altura:"
 
-#: ../src/ui/widget/page-sizer.cpp:192
+#: ../src/ui/widget/page-sizer.cpp:210
 msgid "Height of paper"
 msgstr "Altura do papel"
 
-#: ../src/ui/widget/page-sizer.cpp:236
+#: ../src/ui/widget/page-sizer.cpp:256
 msgid "P_age size:"
 msgstr "T_amanho da página:"
 
-#: ../src/ui/widget/page-sizer.cpp:244
+#: ../src/ui/widget/page-sizer.cpp:264
 msgid "Page orientation:"
 msgstr "Orientação da página:"
 
-#: ../src/ui/widget/page-sizer.cpp:247
+#: ../src/ui/widget/page-sizer.cpp:267
 msgid "_Landscape"
 msgstr "_Paisagem"
 
-#: ../src/ui/widget/page-sizer.cpp:252
+#: ../src/ui/widget/page-sizer.cpp:272
 msgid "_Portrait"
 msgstr "_Retrato"
 
 #. ## Set up custom size frame
-#: ../src/ui/widget/page-sizer.cpp:259
+#: ../src/ui/widget/page-sizer.cpp:279
 msgid "Custom size"
 msgstr "Tamanho personalizado"
 
-#: ../src/ui/widget/page-sizer.cpp:272
+#: ../src/ui/widget/page-sizer.cpp:292
 msgid "_Fit page to selection"
 msgstr "_Ajustar página à seleção"
 
-#: ../src/ui/widget/page-sizer.cpp:273
+#: ../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"
@@ -13307,7 +14007,7 @@ msgstr ""
 "Redimensionar a página para caber a seleção atual, ou o desenho inteiro se "
 "não houver nenhuma seleção"
 
-#: ../src/ui/widget/page-sizer.cpp:331
+#: ../src/ui/widget/page-sizer.cpp:351
 msgid "Set page size"
 msgstr "Definir tamanho da página"
 
@@ -13375,7 +14075,7 @@ msgstr "Ocultar"
 msgid "swatches|Wrap"
 msgstr ""
 
-#: ../src/ui/widget/preferences-widget.cpp:278
+#: ../src/ui/widget/preferences-widget.cpp:504
 #, fuzzy
 msgid "Reset"
 msgstr " R_edefinir "
@@ -13451,8 +14151,8 @@ msgid "N/A"
 msgstr "N/A"
 
 #: ../src/ui/widget/selected-style.cpp:153
-#: ../src/ui/widget/selected-style.cpp:1024
-#: ../src/ui/widget/selected-style.cpp:1025
+#: ../src/ui/widget/selected-style.cpp:1020
+#: ../src/ui/widget/selected-style.cpp:1021
 msgid "Nothing selected"
 msgstr "Nenhum objeto selecionado"
 
@@ -13606,13 +14306,13 @@ msgid "Paste color"
 msgstr "Colar cor"
 
 #: ../src/ui/widget/selected-style.cpp:242
-#: ../src/ui/widget/selected-style.cpp:780
+#: ../src/ui/widget/selected-style.cpp:776
 msgid "Swap fill and stroke"
 msgstr "Trocar preenchimento e traço"
 
 #: ../src/ui/widget/selected-style.cpp:246
-#: ../src/ui/widget/selected-style.cpp:522
-#: ../src/ui/widget/selected-style.cpp:531
+#: ../src/ui/widget/selected-style.cpp:518
+#: ../src/ui/widget/selected-style.cpp:527
 msgid "Make fill opaque"
 msgstr "Tornar preenchimento opaco"
 
@@ -13624,76 +14324,76 @@ msgstr "Tornar traço opaco"
 msgid "Remove"
 msgstr "Remover"
 
-#: ../src/ui/widget/selected-style.cpp:543
+#: ../src/ui/widget/selected-style.cpp:539
 msgid "Apply last set color to fill"
 msgstr "Aplicar a última cor para preenchimento"
 
-#: ../src/ui/widget/selected-style.cpp:555
+#: ../src/ui/widget/selected-style.cpp:551
 msgid "Apply last set color to stroke"
 msgstr "Aplicar a última cor para traço"
 
-#: ../src/ui/widget/selected-style.cpp:566
+#: ../src/ui/widget/selected-style.cpp:562
 msgid "Apply last selected color to fill"
 msgstr "Aplicar a última cor para preenchimento da seleção"
 
-#: ../src/ui/widget/selected-style.cpp:577
+#: ../src/ui/widget/selected-style.cpp:573
 msgid "Apply last selected color to stroke"
 msgstr "Aplicar a última cor para traço da seleção"
 
-#: ../src/ui/widget/selected-style.cpp:597
+#: ../src/ui/widget/selected-style.cpp:593
 msgid "Invert fill"
 msgstr "Inverter preenchimento"
 
-#: ../src/ui/widget/selected-style.cpp:617
+#: ../src/ui/widget/selected-style.cpp:613
 msgid "Invert stroke"
 msgstr "Inverter traço"
 
-#: ../src/ui/widget/selected-style.cpp:629
+#: ../src/ui/widget/selected-style.cpp:625
 msgid "White fill"
 msgstr "Preenchimento branco"
 
-#: ../src/ui/widget/selected-style.cpp:641
+#: ../src/ui/widget/selected-style.cpp:637
 msgid "White stroke"
 msgstr "Traço branco"
 
-#: ../src/ui/widget/selected-style.cpp:653
+#: ../src/ui/widget/selected-style.cpp:649
 msgid "Black fill"
 msgstr "Preenchimento preto"
 
-#: ../src/ui/widget/selected-style.cpp:665
+#: ../src/ui/widget/selected-style.cpp:661
 msgid "Black stroke"
 msgstr "Traço preto"
 
-#: ../src/ui/widget/selected-style.cpp:708
+#: ../src/ui/widget/selected-style.cpp:704
 msgid "Paste fill"
 msgstr "Colar preenchimento"
 
-#: ../src/ui/widget/selected-style.cpp:726
+#: ../src/ui/widget/selected-style.cpp:722
 msgid "Paste stroke"
 msgstr "Colar traço"
 
-#: ../src/ui/widget/selected-style.cpp:890
+#: ../src/ui/widget/selected-style.cpp:886
 msgid "Change stroke width"
 msgstr "Alterar largura do traço"
 
-#: ../src/ui/widget/selected-style.cpp:985
+#: ../src/ui/widget/selected-style.cpp:981
 msgid ", drag to adjust"
 msgstr ", arraste para ajustar"
 
-#: ../src/ui/widget/selected-style.cpp:1066
+#: ../src/ui/widget/selected-style.cpp:1062
 #, c-format
 msgid "Stroke width: %.5g%s%s"
 msgstr "Largura do traço: %.5g%s%s"
 
-#: ../src/ui/widget/selected-style.cpp:1070
+#: ../src/ui/widget/selected-style.cpp:1066
 msgid " (averaged)"
 msgstr " (médio)"
 
-#: ../src/ui/widget/selected-style.cpp:1098
+#: ../src/ui/widget/selected-style.cpp:1094
 msgid "0 (transparent)"
 msgstr "0 (transparente)"
 
-#: ../src/ui/widget/selected-style.cpp:1122
+#: ../src/ui/widget/selected-style.cpp:1118
 msgid "100% (opaque)"
 msgstr "100% (opaco)"
 
@@ -13737,13 +14437,13 @@ msgstr ""
 "<b>Shift</b> para ajustar saturação, com <b>Ctrl</b> para ajustar a "
 "luminosidade"
 
-#: ../src/ui/widget/selected-style.cpp:1391
-#: ../src/ui/widget/selected-style.cpp:1405
+#: ../src/ui/widget/selected-style.cpp:1394
+#: ../src/ui/widget/selected-style.cpp:1408
 #, fuzzy
 msgid "Adjust stroke width"
 msgstr "Largura do traço"
 
-#: ../src/ui/widget/selected-style.cpp:1392
+#: ../src/ui/widget/selected-style.cpp:1395
 #, c-format
 msgid "Adjusting <b>stroke width</b>: was %.3g, now <b>%.3g</b> (diff %.3g)"
 msgstr ""
@@ -13837,197 +14537,219 @@ msgstr[1] ""
 "Ponto do degradê compartilhado pelos degradês <b>%d</b>; arraste com "
 "<b>Shift</b> para separar"
 
-#: ../src/verbs.cpp:1134
+#: ../src/verbs.cpp:1137
 msgid "Switch to next layer"
 msgstr "Trocar para a próxima camada"
 
-#: ../src/verbs.cpp:1135
+#: ../src/verbs.cpp:1138
 msgid "Switched to next layer."
 msgstr "Trocado para a próxima camada."
 
-#: ../src/verbs.cpp:1137
+#: ../src/verbs.cpp:1140
 msgid "Cannot go past last layer."
 msgstr "Não é possível ir antes da última camada."
 
-#: ../src/verbs.cpp:1146
+#: ../src/verbs.cpp:1149
 msgid "Switch to previous layer"
 msgstr "Trocar para a camada anterior"
 
-#: ../src/verbs.cpp:1147
+#: ../src/verbs.cpp:1150
 msgid "Switched to previous layer."
 msgstr "Trocado para a camada anterior."
 
-#: ../src/verbs.cpp:1149
+#: ../src/verbs.cpp:1152
 msgid "Cannot go before first layer."
 msgstr "Não é possível ir antes da primeira camada."
 
-#: ../src/verbs.cpp:1166 ../src/verbs.cpp:1250
+#: ../src/verbs.cpp:1169 ../src/verbs.cpp:1246 ../src/verbs.cpp:1278
+#: ../src/verbs.cpp:1284
 msgid "No current layer."
 msgstr "Nenhuma camada atual."
 
-#: ../src/verbs.cpp:1195 ../src/verbs.cpp:1199
+#: ../src/verbs.cpp:1198 ../src/verbs.cpp:1202
 #, c-format
 msgid "Raised layer <b>%s</b>."
 msgstr "Camada <b>%s</b> levantada."
 
-#: ../src/verbs.cpp:1196
+#: ../src/verbs.cpp:1199
 msgid "Layer to top"
 msgstr "Camada para o topo"
 
-#: ../src/verbs.cpp:1200
+#: ../src/verbs.cpp:1203
 msgid "Raise layer"
 msgstr "Levantar camada"
 
-#: ../src/verbs.cpp:1203 ../src/verbs.cpp:1207
+#: ../src/verbs.cpp:1206 ../src/verbs.cpp:1210
 #, c-format
 msgid "Lowered layer <b>%s</b>."
 msgstr "Camada abaixada <b>%s</b>."
 
-#: ../src/verbs.cpp:1204
+#: ../src/verbs.cpp:1207
 msgid "Layer to bottom"
 msgstr "Camada para o fundo"
 
-#: ../src/verbs.cpp:1208
+#: ../src/verbs.cpp:1211
 msgid "Lower layer"
 msgstr "Abaixar camada"
 
-#: ../src/verbs.cpp:1217
+#: ../src/verbs.cpp:1220
 msgid "Cannot move layer any further."
 msgstr "Não é possível movimentar mais a camada."
 
-#: ../src/verbs.cpp:1245
+#: ../src/verbs.cpp:1229
+#, c-format
+msgid "%s copy"
+msgstr ""
+
+#: ../src/verbs.cpp:1241
+#, fuzzy
+msgid "Duplicate layer"
+msgstr "Duplicar filtro"
+
+#. TRANSLATORS: this means "The layer has been duplicated."
+#: ../src/verbs.cpp:1244
+#, fuzzy
+msgid "Duplicated layer."
+msgstr "Duplicar filtro"
+
+#: ../src/verbs.cpp:1273
 msgid "Delete layer"
 msgstr "Apagar camada"
 
 #. TRANSLATORS: this means "The layer has been deleted."
-#: ../src/verbs.cpp:1248
+#: ../src/verbs.cpp:1276
 msgid "Deleted layer."
 msgstr "Camada apagada."
 
-#: ../src/verbs.cpp:1330
+#: ../src/verbs.cpp:1287
+#, fuzzy
+msgid "Toggle layer solo"
+msgstr "Tornar a camada atual visível"
+
+#: ../src/verbs.cpp:1367
 msgid "Flip horizontally"
 msgstr "Inverter horizontalmente"
 
-#: ../src/verbs.cpp:1345
+#: ../src/verbs.cpp:1382
 msgid "Flip vertically"
 msgstr "Inverter verticalmente"
 
 #. 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
+#: ../src/verbs.cpp:1883
 msgid "tutorial-basic.svg"
 msgstr "tutorial-basic.pt_BR.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1833
+#: ../src/verbs.cpp:1887
 msgid "tutorial-shapes.svg"
 msgstr "tutorial-shapes.pt_BR.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1837
+#: ../src/verbs.cpp:1891
 msgid "tutorial-advanced.svg"
 msgstr "tutorial-advanced.pt_BR.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1841
+#: ../src/verbs.cpp:1895
 msgid "tutorial-tracing.svg"
 msgstr "tutorial-tracing.pt_BR.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1845
+#: ../src/verbs.cpp:1899
 msgid "tutorial-calligraphy.svg"
 msgstr "tutorial-calligraphy.pt_BR.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1849
+#: ../src/verbs.cpp:1903
 msgid "tutorial-elements.svg"
 msgstr "tutorial-elements.pt_BR.svg"
 
 #. TRANSLATORS: See "tutorial-basic.svg" comment.
-#: ../src/verbs.cpp:1853
+#: ../src/verbs.cpp:1907
 msgid "tutorial-tips.svg"
 msgstr "tutorial-tips.pt_BR.svg"
 
-#: ../src/verbs.cpp:2129 ../src/verbs.cpp:2634
+#: ../src/verbs.cpp:2183 ../src/verbs.cpp:2702
 msgid "Unlock all objects in the current layer"
 msgstr "Destravar todos os objetos da camada atual"
 
-#: ../src/verbs.cpp:2133 ../src/verbs.cpp:2636
+#: ../src/verbs.cpp:2187 ../src/verbs.cpp:2704
 msgid "Unlock all objects in all layers"
 msgstr "Destravar todos os objetos de todas as camadas"
 
-#: ../src/verbs.cpp:2137 ../src/verbs.cpp:2638
+#: ../src/verbs.cpp:2191 ../src/verbs.cpp:2706
 msgid "Unhide all objects in the current layer"
 msgstr "Mostrar todos os objetos na camada atual"
 
-#: ../src/verbs.cpp:2141 ../src/verbs.cpp:2640
+#: ../src/verbs.cpp:2195 ../src/verbs.cpp:2708
 msgid "Unhide all objects in all layers"
 msgstr "Mostrar todos os objetos em todas as camadas"
 
-#: ../src/verbs.cpp:2156
+#: ../src/verbs.cpp:2210
 msgid "Does nothing"
 msgstr "Não faz nada"
 
-#: ../src/verbs.cpp:2159
+#: ../src/verbs.cpp:2213
 msgid "Create new document from the default template"
 msgstr "Criar um novo documento a partir do modelo padrão"
 
-#: ../src/verbs.cpp:2161
+#: ../src/verbs.cpp:2215
 msgid "_Open..."
 msgstr "_Abrir..."
 
-#: ../src/verbs.cpp:2162
+#: ../src/verbs.cpp:2216
 msgid "Open an existing document"
 msgstr "Abrir um desenho existente"
 
-#: ../src/verbs.cpp:2163
+#: ../src/verbs.cpp:2217
 msgid "Re_vert"
 msgstr "Re_verter"
 
-#: ../src/verbs.cpp:2164
+#: ../src/verbs.cpp:2218
 msgid "Revert to the last saved version of document (changes will be lost)"
 msgstr ""
 "Reverter para a última versão salva do desenho (mudanças serão perdidas)"
 
-#: ../src/verbs.cpp:2165
+#: ../src/verbs.cpp:2219
 msgid "_Save"
 msgstr "_Salvar"
 
-#: ../src/verbs.cpp:2165
+#: ../src/verbs.cpp:2219
 msgid "Save document"
 msgstr "Salvar documento"
 
-#: ../src/verbs.cpp:2167
+#: ../src/verbs.cpp:2221
 msgid "Save _As..."
 msgstr "Salvar _Como..."
 
-#: ../src/verbs.cpp:2168
+#: ../src/verbs.cpp:2222
 msgid "Save document under a new name"
 msgstr "Salvar documento com outro nome"
 
-#: ../src/verbs.cpp:2169
+#: ../src/verbs.cpp:2223
 msgid "Save a Cop_y..."
 msgstr "Salvar Cóp_ia..."
 
-#: ../src/verbs.cpp:2170
+#: ../src/verbs.cpp:2224
 msgid "Save a copy of the document under a new name"
 msgstr "Salvar uma cópia do documento com outro nome"
 
-#: ../src/verbs.cpp:2171
+#: ../src/verbs.cpp:2225
 msgid "_Print..."
 msgstr "Im_primir..."
 
-#: ../src/verbs.cpp:2171
+#: ../src/verbs.cpp:2225
 msgid "Print document"
 msgstr "Imprimir documento"
 
 #. TRANSLATORS: "Vacuum Defs" means "Clean up defs" (so as to remove unused definitions)
-#: ../src/verbs.cpp:2174
+#: ../src/verbs.cpp:2228
 msgid "Vac_uum Defs"
 msgstr "Definições Vac_uum"
 
-#: ../src/verbs.cpp:2174
+#: ../src/verbs.cpp:2228
 msgid ""
 "Remove unused definitions (such as gradients or clipping paths) from the &lt;"
 "defs&gt; of the document"
@@ -14035,148 +14757,148 @@ msgstr ""
 "Limpar recursos pré-definidos não utilizados neste documento (como degradês, "
 "pincéis, clipping, etc)"
 
-#: ../src/verbs.cpp:2176
+#: ../src/verbs.cpp:2230
 msgid "Print Previe_w"
 msgstr "_Visualizar Impressão"
 
-#: ../src/verbs.cpp:2177
+#: ../src/verbs.cpp:2231
 msgid "Preview document printout"
 msgstr "Visualizar o desenho como vai ser impresso"
 
-#: ../src/verbs.cpp:2178
+#: ../src/verbs.cpp:2232
 msgid "_Import..."
 msgstr "_Importar..."
 
-#: ../src/verbs.cpp:2179
+#: ../src/verbs.cpp:2233
 msgid "Import a bitmap or SVG image into this document"
 msgstr "Importar figura ou imagem SVG para o documento"
 
-#: ../src/verbs.cpp:2180
+#: ../src/verbs.cpp:2234
 msgid "_Export Bitmap..."
 msgstr "_Exportar Bitmap..."
 
-#: ../src/verbs.cpp:2181
+#: ../src/verbs.cpp:2235
 msgid "Export this document or a selection as a bitmap image"
 msgstr "Exportar o documento ou a seleção como uma imagem bitmap"
 
-#: ../src/verbs.cpp:2182
+#: ../src/verbs.cpp:2236
 msgid "Import a document from Open Clip Art Library"
 msgstr "Importar um documento da Biblioteca Open Clip Art"
 
-#: ../src/verbs.cpp:2183
+#: ../src/verbs.cpp:2237
 msgid "Export To Open Clip Art Library"
 msgstr "Exportar para a Biblioteca Open Clip Art"
 
-#: ../src/verbs.cpp:2183
+#: ../src/verbs.cpp:2237
 msgid "Export this document to Open Clip Art Library"
 msgstr "Exportar este documento para a Biblioteca Open Clip Art"
 
-#: ../src/verbs.cpp:2184
+#: ../src/verbs.cpp:2238
 msgid "N_ext Window"
 msgstr "Próxima Jan_ela"
 
-#: ../src/verbs.cpp:2185
+#: ../src/verbs.cpp:2239
 msgid "Switch to the next document window"
 msgstr "Trocar para a próxima janela de documento"
 
-#: ../src/verbs.cpp:2186
+#: ../src/verbs.cpp:2240
 msgid "P_revious Window"
 msgstr "Janela Ante_rior"
 
-#: ../src/verbs.cpp:2187
+#: ../src/verbs.cpp:2241
 msgid "Switch to the previous document window"
 msgstr "Trocar para a janela anterior de documento"
 
-#: ../src/verbs.cpp:2188
+#: ../src/verbs.cpp:2242
 msgid "_Close"
 msgstr "Fe_char"
 
-#: ../src/verbs.cpp:2189
+#: ../src/verbs.cpp:2243
 msgid "Close this document window"
 msgstr "Fechar a janela do documento"
 
-#: ../src/verbs.cpp:2190
+#: ../src/verbs.cpp:2244
 msgid "_Quit"
 msgstr "_Sair"
 
-#: ../src/verbs.cpp:2190
+#: ../src/verbs.cpp:2244
 msgid "Quit Inkscape"
 msgstr "Sair do Inkscape"
 
-#: ../src/verbs.cpp:2193
+#: ../src/verbs.cpp:2247
 msgid "Undo last action"
 msgstr "Desfazer a última ação"
 
-#: ../src/verbs.cpp:2196
+#: ../src/verbs.cpp:2250
 msgid "Do again the last undone action"
 msgstr "Refazer a última ação desfeita"
 
-#: ../src/verbs.cpp:2197
+#: ../src/verbs.cpp:2251
 msgid "Cu_t"
 msgstr "Cor_tar"
 
-#: ../src/verbs.cpp:2198
+#: ../src/verbs.cpp:2252
 msgid "Cut selection to clipboard"
 msgstr "Cortar a seleção para a área de transferência"
 
-#: ../src/verbs.cpp:2199
+#: ../src/verbs.cpp:2253
 msgid "_Copy"
 msgstr "_Copiar"
 
-#: ../src/verbs.cpp:2200
+#: ../src/verbs.cpp:2254
 msgid "Copy selection to clipboard"
 msgstr "Copiar a seleção para a área de transferência"
 
-#: ../src/verbs.cpp:2201
+#: ../src/verbs.cpp:2255
 msgid "_Paste"
 msgstr "Co_lar"
 
-#: ../src/verbs.cpp:2202
+#: ../src/verbs.cpp:2256
 msgid "Paste objects from clipboard to mouse point, or paste text"
 msgstr ""
 "Colar objetos ou texto da área de transferência para a posição do mouse"
 
-#: ../src/verbs.cpp:2203
+#: ../src/verbs.cpp:2257
 msgid "Paste _Style"
 msgstr "Colar E_stilo"
 
-#: ../src/verbs.cpp:2204
+#: ../src/verbs.cpp:2258
 msgid "Apply the style of the copied object to selection"
 msgstr "Aplicar o estilo do objeto copiado para a seleção"
 
-#: ../src/verbs.cpp:2206
+#: ../src/verbs.cpp:2260
 msgid "Scale selection to match the size of the copied object"
 msgstr "Redimensionar seleção para o tamanho do objeto selecionado"
 
-#: ../src/verbs.cpp:2207
+#: ../src/verbs.cpp:2261
 msgid "Paste _Width"
 msgstr "Colar La_rgura"
 
-#: ../src/verbs.cpp:2208
+#: ../src/verbs.cpp:2262
 msgid "Scale selection horizontally to match the width of the copied object"
 msgstr "Redimensionar seleção horizontalmente para a largura do objeto copiado"
 
-#: ../src/verbs.cpp:2209
+#: ../src/verbs.cpp:2263
 msgid "Paste _Height"
 msgstr "Colar _Altura"
 
-#: ../src/verbs.cpp:2210
+#: ../src/verbs.cpp:2264
 msgid "Scale selection vertically to match the height of the copied object"
 msgstr "Redimensionar seleção verticalmente para a altura do objeto copiado"
 
-#: ../src/verbs.cpp:2211
+#: ../src/verbs.cpp:2265
 msgid "Paste Size Separately"
 msgstr "Colar Tamanho Separadamente"
 
-#: ../src/verbs.cpp:2212
+#: ../src/verbs.cpp:2266
 msgid "Scale each selected object to match the size of the copied object"
 msgstr "Redimensionar cada objeto selecionado para o tamanho do objeto copiado"
 
-#: ../src/verbs.cpp:2213
+#: ../src/verbs.cpp:2267
 msgid "Paste Width Separately"
 msgstr "Colar Largura Separadamente"
 
-#: ../src/verbs.cpp:2214
+#: ../src/verbs.cpp:2268
 msgid ""
 "Scale each selected object horizontally to match the width of the copied "
 "object"
@@ -14184,11 +14906,11 @@ msgstr ""
 "Redimensionar horizontalmente cada objeto selecionado para a largura do "
 "objeto copiado"
 
-#: ../src/verbs.cpp:2215
+#: ../src/verbs.cpp:2269
 msgid "Paste Height Separately"
 msgstr "Colar Altura Separadamente"
 
-#: ../src/verbs.cpp:2216
+#: ../src/verbs.cpp:2270
 msgid ""
 "Scale each selected object vertically to match the height of the copied "
 "object"
@@ -14196,101 +14918,110 @@ msgstr ""
 "Redimensionar verticalmente cada objeto selecionado para a altura do objeto "
 "copiado"
 
-#: ../src/verbs.cpp:2217
+#: ../src/verbs.cpp:2271
 msgid "Paste _In Place"
 msgstr "Colar _No Lugar"
 
-#: ../src/verbs.cpp:2218
+#: ../src/verbs.cpp:2272
 msgid "Paste objects from clipboard to the original location"
 msgstr ""
 "Colar os objetos da área de transferência para o lugar original de onde "
 "foram copiados"
 
-#: ../src/verbs.cpp:2219
+#: ../src/verbs.cpp:2273
 msgid "Paste Path _Effect"
 msgstr "Colar _Efeito do Caminho"
 
-#: ../src/verbs.cpp:2220
+#: ../src/verbs.cpp:2274
 msgid "Apply the path effect of the copied object to selection"
 msgstr "Aplicar o efeito de caminho do objeto copiado para a seleção"
 
-#: ../src/verbs.cpp:2221
+#: ../src/verbs.cpp:2275
 #, fuzzy
 msgid "Remove Path _Effect"
 msgstr "Remover efeito de caminho"
 
-#: ../src/verbs.cpp:2222
+#: ../src/verbs.cpp:2276
 #, fuzzy
 msgid "Remove any path effects from selected objects"
 msgstr "Remover efeito da seleção"
 
-#: ../src/verbs.cpp:2223
+#: ../src/verbs.cpp:2277
 #, fuzzy
 msgid "Remove Filter"
 msgstr "Remover filtro"
 
-#: ../src/verbs.cpp:2224
+#: ../src/verbs.cpp:2278
 #, fuzzy
 msgid "Remove any filters from selected objects"
 msgstr "Remover máscara da seleção"
 
-#: ../src/verbs.cpp:2225
+#: ../src/verbs.cpp:2279
 msgid "_Delete"
 msgstr "Apa_gar"
 
-#: ../src/verbs.cpp:2226
+#: ../src/verbs.cpp:2280
 msgid "Delete selection"
 msgstr "Apagar a seleção"
 
-#: ../src/verbs.cpp:2227
+#: ../src/verbs.cpp:2281
 msgid "Duplic_ate"
 msgstr "Duplic_ar"
 
-#: ../src/verbs.cpp:2228
+#: ../src/verbs.cpp:2282
 msgid "Duplicate selected objects"
 msgstr "Duplicar os objetos selecionados"
 
-#: ../src/verbs.cpp:2229
+#: ../src/verbs.cpp:2283
 msgid "Create Clo_ne"
 msgstr "Criar Clo_ne"
 
-#: ../src/verbs.cpp:2230
+#: ../src/verbs.cpp:2284
 msgid "Create a clone (a copy linked to the original) of selected object"
 msgstr "Criar um clone dos objetos selecionados (uma cópia ligada ao original)"
 
-#: ../src/verbs.cpp:2231
+#: ../src/verbs.cpp:2285
 msgid "Unlin_k Clone"
 msgstr "Desl_igar Clone"
 
-#: ../src/verbs.cpp:2232
+#: ../src/verbs.cpp:2286
+#, fuzzy
 msgid ""
-"Cut the selected clone's link to its original, turning it into a standalone "
-"object"
+"Cut the selected clones' links to the originals, turning them into "
+"standalone objects"
 msgstr "Remover a ligação do clone com seu original"
 
-#: ../src/verbs.cpp:2233
+#: ../src/verbs.cpp:2287
+msgid "Relink to Copied"
+msgstr ""
+
+#: ../src/verbs.cpp:2288
+msgid "Relink the selected clones to the object currently on the clipboard"
+msgstr ""
+
+#: ../src/verbs.cpp:2289
 msgid "Select _Original"
 msgstr "Selecionar _Original"
 
-#: ../src/verbs.cpp:2234
+#: ../src/verbs.cpp:2290
 msgid "Select the object to which the selected clone is linked"
 msgstr "Selecione o objeto ao qual o clone está ligado"
 
 #. TRANSLATORS: Convert selection to a line marker
-#: ../src/verbs.cpp:2236
+#: ../src/verbs.cpp:2292
 msgid "Objects to _Marker"
 msgstr "Objeto para _Marcador"
 
-#: ../src/verbs.cpp:2237
+#: ../src/verbs.cpp:2293
 msgid "Convert selection to a line marker"
 msgstr "Converter seleção em um marcador linha"
 
 #. TRANSLATORS: Convert selection to a collection of guidelines
-#: ../src/verbs.cpp:2239
+#: ../src/verbs.cpp:2295
 msgid "Objects to Gu_ides"
 msgstr "Objeto para Gu_ias"
 
-#: ../src/verbs.cpp:2240
+#: ../src/verbs.cpp:2296
 msgid ""
 "Convert selected objects to a collection of guidelines aligned with their "
 "edges"
@@ -14299,197 +15030,197 @@ msgstr ""
 "suas bordas"
 
 #. TRANSLATORS: Convert selection to a rectangle with tiled pattern fill
-#: ../src/verbs.cpp:2242
+#: ../src/verbs.cpp:2298
 msgid "Objects to Patter_n"
 msgstr "O_bjeto para Padrão"
 
-#: ../src/verbs.cpp:2243
+#: ../src/verbs.cpp:2299
 msgid "Convert selection to a rectangle with tiled pattern fill"
 msgstr "Converter a seleção para um padrão, a ser usado como preenchimento."
 
 #. TRANSLATORS: Extract objects from a tiled pattern fill
-#: ../src/verbs.cpp:2245
+#: ../src/verbs.cpp:2301
 msgid "Pattern to _Objects"
 msgstr "Padrão para _Objeto"
 
-#: ../src/verbs.cpp:2246
+#: ../src/verbs.cpp:2302
 msgid "Extract objects from a tiled pattern fill"
 msgstr "Extrai objetos de um preenchimento com padrões"
 
-#: ../src/verbs.cpp:2247
+#: ../src/verbs.cpp:2303
 msgid "Clea_r All"
 msgstr "Limpa_r Todos"
 
-#: ../src/verbs.cpp:2248
+#: ../src/verbs.cpp:2304
 msgid "Delete all objects from document"
 msgstr "Apagar todos os objetos do desenho"
 
-#: ../src/verbs.cpp:2249
+#: ../src/verbs.cpp:2305
 msgid "Select Al_l"
 msgstr "Se_lecionar Todos"
 
-#: ../src/verbs.cpp:2250
+#: ../src/verbs.cpp:2306
 msgid "Select all objects or all nodes"
 msgstr "Selecionar todos os objetos ou todos os nós"
 
-#: ../src/verbs.cpp:2251
+#: ../src/verbs.cpp:2307
 msgid "Select All in All La_yers"
 msgstr "Selecionar _Tudo em Todas Camadas"
 
-#: ../src/verbs.cpp:2252
+#: ../src/verbs.cpp:2308
 msgid "Select all objects in all visible and unlocked layers"
 msgstr "Selecionar todos os objetos em todas camadas visíveis e não trancadas"
 
-#: ../src/verbs.cpp:2253
+#: ../src/verbs.cpp:2309
 msgid "In_vert Selection"
 msgstr "In_verter Seleção"
 
-#: ../src/verbs.cpp:2254
+#: ../src/verbs.cpp:2310
 msgid "Invert selection (unselect what is selected and select everything else)"
 msgstr ""
 "Inverter seleção (desselecionar o que está selecionado e selecionar todo o "
 "restante)"
 
-#: ../src/verbs.cpp:2255
+#: ../src/verbs.cpp:2311
 msgid "Invert in All Layers"
 msgstr "Inverter em Todas Camadas"
 
-#: ../src/verbs.cpp:2256
+#: ../src/verbs.cpp:2312
 msgid "Invert selection in all visible and unlocked layers"
 msgstr "Inverter seleção em todas camadas visíveis e destravadas."
 
-#: ../src/verbs.cpp:2257
+#: ../src/verbs.cpp:2313
 msgid "Select Next"
 msgstr "Selecionar Próximo"
 
-#: ../src/verbs.cpp:2258
+#: ../src/verbs.cpp:2314
 msgid "Select next object or node"
 msgstr "Selecionar próximo objeto ou nó"
 
-#: ../src/verbs.cpp:2259
+#: ../src/verbs.cpp:2315
 msgid "Select Previous"
 msgstr "Selecionar Anterior"
 
-#: ../src/verbs.cpp:2260
+#: ../src/verbs.cpp:2316
 msgid "Select previous object or node"
 msgstr "Selecionar objeto ou nó anterior"
 
-#: ../src/verbs.cpp:2261
+#: ../src/verbs.cpp:2317
 msgid "D_eselect"
 msgstr "Remover S_eleção"
 
-#: ../src/verbs.cpp:2262
+#: ../src/verbs.cpp:2318
 msgid "Deselect any selected objects or nodes"
 msgstr "Retira a seleção de qualquer objeto ou nó"
 
-#: ../src/verbs.cpp:2263
+#: ../src/verbs.cpp:2319
 msgid "_Guides around page"
 msgstr ""
 
-#: ../src/verbs.cpp:2264
+#: ../src/verbs.cpp:2320
 msgid "Create four guides aligned with the page borders"
 msgstr ""
 
-#: ../src/verbs.cpp:2265
+#: ../src/verbs.cpp:2321
 msgid "Next Path Effect Parameter"
 msgstr "Próximo "
 
-#: ../src/verbs.cpp:2266
+#: ../src/verbs.cpp:2322
 msgid "Show next Path Effect parameter for editing"
 msgstr "Mostrar próximo parâmetro para edição de Efeito de Caminho"
 
 #. Selection
-#: ../src/verbs.cpp:2269
+#: ../src/verbs.cpp:2325
 msgid "Raise to _Top"
 msgstr "Levantar para o _Topo"
 
-#: ../src/verbs.cpp:2270
+#: ../src/verbs.cpp:2326
 msgid "Raise selection to top"
 msgstr "Levantar a seleção para o topo"
 
-#: ../src/verbs.cpp:2271
+#: ../src/verbs.cpp:2327
 msgid "Lower to _Bottom"
 msgstr "A_baixar para o Fundo"
 
-#: ../src/verbs.cpp:2272
+#: ../src/verbs.cpp:2328
 msgid "Lower selection to bottom"
 msgstr "Abaixar a seleção até ficar em baixo de todos os outros elementos"
 
-#: ../src/verbs.cpp:2273
+#: ../src/verbs.cpp:2329
 msgid "_Raise"
 msgstr "Levanta_r"
 
-#: ../src/verbs.cpp:2274
+#: ../src/verbs.cpp:2330
 msgid "Raise selection one step"
 msgstr "Levantar a seleção um passo"
 
-#: ../src/verbs.cpp:2275
+#: ../src/verbs.cpp:2331
 msgid "_Lower"
 msgstr "Abai_xar"
 
-#: ../src/verbs.cpp:2276
+#: ../src/verbs.cpp:2332
 msgid "Lower selection one step"
 msgstr "Abaixar a seleção um passo"
 
-#: ../src/verbs.cpp:2277
+#: ../src/verbs.cpp:2333
 msgid "_Group"
 msgstr "A_grupar"
 
-#: ../src/verbs.cpp:2278
+#: ../src/verbs.cpp:2334
 msgid "Group selected objects"
 msgstr "Agrupar os objetos selecionados"
 
-#: ../src/verbs.cpp:2280
+#: ../src/verbs.cpp:2336
 msgid "Ungroup selected groups"
 msgstr "Desagrupar os grupos selecionados"
 
-#: ../src/verbs.cpp:2282
+#: ../src/verbs.cpp:2338
 msgid "_Put on Path"
 msgstr "_Por no Caminho"
 
-#: ../src/verbs.cpp:2284
+#: ../src/verbs.cpp:2340
 msgid "_Remove from Path"
 msgstr "_Remover do caminho"
 
-#: ../src/verbs.cpp:2286
+#: ../src/verbs.cpp:2342
 msgid "Remove Manual _Kerns"
 msgstr "Remover _Kerns Manuais"
 
 #. 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
+#: ../src/verbs.cpp:2345
 msgid "Remove all manual kerns and glyph rotations from a text object"
 msgstr "Remover todos kerns manuais e rotações de glyph de um objeto de texto"
 
-#: ../src/verbs.cpp:2291
+#: ../src/verbs.cpp:2347
 msgid "_Union"
 msgstr "_União"
 
-#: ../src/verbs.cpp:2292
+#: ../src/verbs.cpp:2348
 msgid "Create union of selected paths"
 msgstr "União entre os caminhos selecionados"
 
-#: ../src/verbs.cpp:2293
+#: ../src/verbs.cpp:2349
 msgid "_Intersection"
 msgstr "_Interseção"
 
-#: ../src/verbs.cpp:2294
+#: ../src/verbs.cpp:2350
 msgid "Create intersection of selected paths"
 msgstr "Interseção entre os caminhos selecionados"
 
-#: ../src/verbs.cpp:2295
+#: ../src/verbs.cpp:2351
 msgid "_Difference"
 msgstr "_Diferença"
 
-#: ../src/verbs.cpp:2296
+#: ../src/verbs.cpp:2352
 msgid "Create difference of selected paths (bottom minus top)"
 msgstr "Diferença entre os objetos selecionados (fundo menos topo)"
 
-#: ../src/verbs.cpp:2297
+#: ../src/verbs.cpp:2353
 msgid "E_xclusion"
 msgstr "E_xclusão"
 
-#: ../src/verbs.cpp:2298
+#: ../src/verbs.cpp:2354
 msgid ""
 "Create exclusive OR of selected paths (those parts that belong to only one "
 "path)"
@@ -14497,21 +15228,21 @@ msgstr ""
 "OU exclusivo entre os objetos selecionados (as partes pertencentes a apenas "
 "um caminho)"
 
-#: ../src/verbs.cpp:2299
+#: ../src/verbs.cpp:2355
 msgid "Di_vision"
 msgstr "Di_visão"
 
-#: ../src/verbs.cpp:2300
+#: ../src/verbs.cpp:2356
 msgid "Cut the bottom path into pieces"
 msgstr "Cortar o objeto do fundo em pedaços"
 
 #. 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
+#: ../src/verbs.cpp:2359
 msgid "Cut _Path"
 msgstr "Cortar Camin_ho"
 
-#: ../src/verbs.cpp:2304
+#: ../src/verbs.cpp:2360
 msgid "Cut the bottom path's stroke into pieces, removing fill"
 msgstr ""
 "Cortar o traço do objeto do fundo em pedaços, removendo o preenchimento"
@@ -14519,272 +15250,292 @@ 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
+#: ../src/verbs.cpp:2364
 msgid "Outs_et"
 msgstr "_Expandir"
 
-#: ../src/verbs.cpp:2309
+#: ../src/verbs.cpp:2365
 msgid "Outset selected paths"
 msgstr "Expandir o(s) caminho(s) selecionados"
 
-#: ../src/verbs.cpp:2311
+#: ../src/verbs.cpp:2367
 msgid "O_utset Path by 1 px"
 msgstr "E_xpandir Caminho em 1px"
 
-#: ../src/verbs.cpp:2312
+#: ../src/verbs.cpp:2368
 msgid "Outset selected paths by 1 px"
 msgstr "Expandir os caminhos selecionados em 1px"
 
-#: ../src/verbs.cpp:2314
+#: ../src/verbs.cpp:2370
 msgid "O_utset Path by 10 px"
 msgstr "E_xpandir Ca_minho em 10px"
 
-#: ../src/verbs.cpp:2315
+#: ../src/verbs.cpp:2371
 msgid "Outset selected paths by 10 px"
 msgstr "Expandir os caminhos selecionados em 10px"
 
 #. 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
+#: ../src/verbs.cpp:2375
 msgid "I_nset"
 msgstr "Co_mprimir"
 
-#: ../src/verbs.cpp:2320
+#: ../src/verbs.cpp:2376
 msgid "Inset selected paths"
 msgstr "Comprimir caminhos selecionados"
 
-#: ../src/verbs.cpp:2322
+#: ../src/verbs.cpp:2378
 msgid "I_nset Path by 1 px"
 msgstr "Ava_nçar Caminho por 1px"
 
-#: ../src/verbs.cpp:2323
+#: ../src/verbs.cpp:2379
 msgid "Inset selected paths by 1 px"
 msgstr "Comprime o caminho selecionado por 1px"
 
-#: ../src/verbs.cpp:2325
+#: ../src/verbs.cpp:2381
 msgid "I_nset Path by 10 px"
 msgstr "Ava_nçar  Caminho por 10px"
 
-#: ../src/verbs.cpp:2326
+#: ../src/verbs.cpp:2382
 msgid "Inset selected paths by 10 px"
 msgstr "Comprimir o caminho selecionado por 10px"
 
-#: ../src/verbs.cpp:2328
+#: ../src/verbs.cpp:2384
 msgid "D_ynamic Offset"
 msgstr "Tipografia D_inâmica"
 
-#: ../src/verbs.cpp:2328
+#: ../src/verbs.cpp:2384
 msgid "Create a dynamic offset object"
 msgstr "Criar um objeto tipográfico dinâmico"
 
-#: ../src/verbs.cpp:2330
+#: ../src/verbs.cpp:2386
 msgid "_Linked Offset"
 msgstr "Tipografia _Ligada"
 
-#: ../src/verbs.cpp:2331
+#: ../src/verbs.cpp:2387
 msgid "Create a dynamic offset object linked to the original path"
 msgstr "Cria um objeto tipográfico dinâmico ligado ao caminho original"
 
-#: ../src/verbs.cpp:2333
+#: ../src/verbs.cpp:2389
 msgid "_Stroke to Path"
 msgstr "_Traço para caminho"
 
-#: ../src/verbs.cpp:2334
+#: ../src/verbs.cpp:2390
 msgid "Convert selected object's stroke to paths"
 msgstr "Converte o traço do objeto selecionado em caminho"
 
-#: ../src/verbs.cpp:2335
+#: ../src/verbs.cpp:2391
 msgid "Si_mplify"
 msgstr "Si_mplificar"
 
-#: ../src/verbs.cpp:2336
+#: ../src/verbs.cpp:2392
 msgid "Simplify selected paths (remove extra nodes)"
 msgstr "Simplificar os caminhos selecionados removendo nós adicionais"
 
-#: ../src/verbs.cpp:2337
+#: ../src/verbs.cpp:2393
 msgid "_Reverse"
 msgstr "_Reverter"
 
-#: ../src/verbs.cpp:2338
+#: ../src/verbs.cpp:2394
 msgid "Reverse the direction of selected paths (useful for flipping markers)"
 msgstr ""
 "Reverte a direção dos caminhos selecionados (útil para inverter marcadores)"
 
 #. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
-#: ../src/verbs.cpp:2340
+#: ../src/verbs.cpp:2396
 msgid "_Trace Bitmap..."
 msgstr "_Traçar Bitmap..."
 
-#: ../src/verbs.cpp:2341
+#: ../src/verbs.cpp:2397
 msgid "Create one or more paths from a bitmap by tracing it"
 msgstr "Cria um ou mais caminhos a partir de uma figura"
 
-#: ../src/verbs.cpp:2342
+#: ../src/verbs.cpp:2398
 msgid "_Make a Bitmap Copy"
 msgstr "Fazer u_ma Cópia em Bitmap"
 
-#: ../src/verbs.cpp:2343
+#: ../src/verbs.cpp:2399
 msgid "Export selection to a bitmap and insert it into document"
 msgstr "Exportar seleção para uma figura e inseri-la para dentro do desenho"
 
-#: ../src/verbs.cpp:2344
+#: ../src/verbs.cpp:2400
 msgid "_Combine"
 msgstr "_Combinar"
 
-#: ../src/verbs.cpp:2345
+#: ../src/verbs.cpp:2401
 msgid "Combine several paths into one"
 msgstr "Combina diversos caminhos em um"
 
 #. 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
+#: ../src/verbs.cpp:2404
 msgid "Break _Apart"
 msgstr "Sep_arar"
 
-#: ../src/verbs.cpp:2349
+#: ../src/verbs.cpp:2405
 msgid "Break selected paths into subpaths"
 msgstr "Separar caminhos selecionados em outros caminhos"
 
-#: ../src/verbs.cpp:2350
+#: ../src/verbs.cpp:2406
 msgid "Rows and Columns..."
 msgstr "Linhas e Colunas..."
 
-#: ../src/verbs.cpp:2351
+#: ../src/verbs.cpp:2407
 msgid "Arrange selected objects in a table"
 msgstr "Arranjar objetos selecionados em uma tabela"
 
 #. Layer
-#: ../src/verbs.cpp:2353
+#: ../src/verbs.cpp:2409
 msgid "_Add Layer..."
 msgstr "_Adicionar Camada..."
 
-#: ../src/verbs.cpp:2354
+#: ../src/verbs.cpp:2410
 msgid "Create a new layer"
 msgstr "Cria uma nova camada"
 
-#: ../src/verbs.cpp:2355
+#: ../src/verbs.cpp:2411
 msgid "Re_name Layer..."
 msgstr "Re_nomear Camada..."
 
-#: ../src/verbs.cpp:2356
+#: ../src/verbs.cpp:2412
 msgid "Rename the current layer"
 msgstr "Renomear a camada atual"
 
-#: ../src/verbs.cpp:2357
+#: ../src/verbs.cpp:2413
 msgid "Switch to Layer Abov_e"
 msgstr "Mudar para a Camada Acima"
 
-#: ../src/verbs.cpp:2358
+#: ../src/verbs.cpp:2414
 msgid "Switch to the layer above the current"
 msgstr "Mudar para a camada acima da atual"
 
-#: ../src/verbs.cpp:2359
+#: ../src/verbs.cpp:2415
 msgid "Switch to Layer Belo_w"
 msgstr "Mudar para a Camada Abai_xo"
 
-#: ../src/verbs.cpp:2360
+#: ../src/verbs.cpp:2416
 msgid "Switch to the layer below the current"
 msgstr "Mudar para a camada abaixo da corrente"
 
-#: ../src/verbs.cpp:2361
+#: ../src/verbs.cpp:2417
 msgid "Move Selection to Layer Abo_ve"
 msgstr "Mo_ver seleção para a Camada Acima"
 
-#: ../src/verbs.cpp:2362
+#: ../src/verbs.cpp:2418
 msgid "Move selection to the layer above the current"
 msgstr "Mover seleção para a camada acima da atual"
 
-#: ../src/verbs.cpp:2363
+#: ../src/verbs.cpp:2419
 msgid "Move Selection to Layer Bel_ow"
 msgstr "Mover seleção para a camada abaix_o"
 
-#: ../src/verbs.cpp:2364
+#: ../src/verbs.cpp:2420
 msgid "Move selection to the layer below the current"
 msgstr "Mover seleção para a camada abaixo da atual"
 
-#: ../src/verbs.cpp:2365
+#: ../src/verbs.cpp:2421
 msgid "Layer to _Top"
 msgstr "Camada para o _Topo"
 
-#: ../src/verbs.cpp:2366
+#: ../src/verbs.cpp:2422
 msgid "Raise the current layer to the top"
 msgstr "Levanta a camada atual para o topo"
 
-#: ../src/verbs.cpp:2367
+#: ../src/verbs.cpp:2423
 msgid "Layer to _Bottom"
 msgstr "Camada para o _Baixo"
 
-#: ../src/verbs.cpp:2368
+#: ../src/verbs.cpp:2424
 msgid "Lower the current layer to the bottom"
 msgstr "Abaixa a camada atual para o fundo"
 
-#: ../src/verbs.cpp:2369
+#: ../src/verbs.cpp:2425
 msgid "_Raise Layer"
 msgstr "_Levantar Camada"
 
-#: ../src/verbs.cpp:2370
+#: ../src/verbs.cpp:2426
 msgid "Raise the current layer"
 msgstr "Levantar a camada atual"
 
-#: ../src/verbs.cpp:2371
+#: ../src/verbs.cpp:2427
 msgid "_Lower Layer"
 msgstr "Abaixar Camada"
 
-#: ../src/verbs.cpp:2372
+#: ../src/verbs.cpp:2428
 msgid "Lower the current layer"
 msgstr "Abaixar a camada atual"
 
-#: ../src/verbs.cpp:2373
+#: ../src/verbs.cpp:2429
+#, fuzzy
+msgid "Duplicate Current Layer..."
+msgstr "Apagar Camada Atual"
+
+#: ../src/verbs.cpp:2430
+#, fuzzy
+msgid "Duplicate an existing layer"
+msgstr "Duplicar filtro"
+
+#: ../src/verbs.cpp:2431
 msgid "_Delete Current Layer"
 msgstr "Apagar Camada Atual"
 
-#: ../src/verbs.cpp:2374
+#: ../src/verbs.cpp:2432
 msgid "Delete the current layer"
 msgstr "Apagar a camada atual"
 
+#: ../src/verbs.cpp:2433
+#, fuzzy
+msgid "_Show/hide other layers"
+msgstr "Mostrar ou esconder as réguas da tela"
+
+#: ../src/verbs.cpp:2434
+#, fuzzy
+msgid "Solo the current layer"
+msgstr "Abaixar a camada atual"
+
 #. Object
-#: ../src/verbs.cpp:2377
+#: ../src/verbs.cpp:2437
 msgid "Rotate _90&#176; CW"
 msgstr "Girar +_90° graus"
 
 #. This is shared between tooltips and statusbar, so they
 #. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2380
+#: ../src/verbs.cpp:2440
 msgid "Rotate selection 90° clockwise"
 msgstr "Girar a seleção 90° graus sentido hórario"
 
-#: ../src/verbs.cpp:2381
+#: ../src/verbs.cpp:2441
 msgid "Rotate 9_0&#176; CCW"
 msgstr "Girar -9_0° graus"
 
 #. This is shared between tooltips and statusbar, so they
 #. must use UTF-8, not HTML entities for special characters.
-#: ../src/verbs.cpp:2384
+#: ../src/verbs.cpp:2444
 msgid "Rotate selection 90° counter-clockwise"
 msgstr "Girar a seleção 90° graus sentido anti-horário"
 
-#: ../src/verbs.cpp:2385
+#: ../src/verbs.cpp:2445
 msgid "Remove _Transformations"
 msgstr "Remover _Transformações"
 
-#: ../src/verbs.cpp:2386
+#: ../src/verbs.cpp:2446
 msgid "Remove transformations from object"
 msgstr "Remover transformações do objeto selecionado"
 
-#: ../src/verbs.cpp:2387
+#: ../src/verbs.cpp:2447
 msgid "_Object to Path"
 msgstr "_Objeto para Caminho"
 
-#: ../src/verbs.cpp:2388
+#: ../src/verbs.cpp:2448
 msgid "Convert selected object to path"
 msgstr "Converte os objetos selecionados em caminhos"
 
-#: ../src/verbs.cpp:2389
+#: ../src/verbs.cpp:2449
 msgid "_Flow into Frame"
 msgstr "_Formatar Texto na Moldura"
 
-#: ../src/verbs.cpp:2390
+#: ../src/verbs.cpp:2450
 msgid ""
 "Put text into a frame (path or shape), creating a flowed text linked to the "
 "frame object"
@@ -14792,536 +15543,558 @@ msgstr ""
 "Posiciona o texto em uma moldura (forma ou caminho), criando uma caixa de "
 "texto ligada ao objeto"
 
-#: ../src/verbs.cpp:2391
+#: ../src/verbs.cpp:2451
 msgid "_Unflow"
 msgstr "Retirar da Mold_ura"
 
-#: ../src/verbs.cpp:2392
+#: ../src/verbs.cpp:2452
 msgid "Remove text from frame (creates a single-line text object)"
 msgstr ""
 "Remover texto da caixa de texto (criar um objeto de texto com linha simples)"
 
-#: ../src/verbs.cpp:2393
+#: ../src/verbs.cpp:2453
 msgid "_Convert to Text"
 msgstr "Converter para Texto"
 
-#: ../src/verbs.cpp:2394
+#: ../src/verbs.cpp:2454
 msgid "Convert flowed text to regular text object (preserves appearance)"
 msgstr ""
 "Converter o texto flutuante para um objeto de texto normal (preservar "
 "aparência)"
 
-#: ../src/verbs.cpp:2396
+#: ../src/verbs.cpp:2456
 msgid "Flip _Horizontal"
 msgstr "Inverter _Horizontalmente"
 
-#: ../src/verbs.cpp:2396
+#: ../src/verbs.cpp:2456
 msgid "Flip selected objects horizontally"
 msgstr "Inverter objetos selecionados horizontalmente"
 
-#: ../src/verbs.cpp:2399
+#: ../src/verbs.cpp:2459
 msgid "Flip _Vertical"
 msgstr "Inverter _Verticalmente"
 
-#: ../src/verbs.cpp:2399
+#: ../src/verbs.cpp:2459
 msgid "Flip selected objects vertically"
 msgstr "Inverter objetos selecionados verticalmente"
 
-#: ../src/verbs.cpp:2402
+#: ../src/verbs.cpp:2462
 msgid "Apply mask to selection (using the topmost object as mask)"
 msgstr "Aplicar mask para a seleção (usando o objeto acima como mask)"
 
-#: ../src/verbs.cpp:2404
+#: ../src/verbs.cpp:2464
 #, fuzzy
 msgid "Edit mask"
 msgstr "Definir máscara"
 
-#: ../src/verbs.cpp:2405 ../src/verbs.cpp:2411
+#: ../src/verbs.cpp:2465 ../src/verbs.cpp:2471
 msgid "_Release"
 msgstr "_Remover"
 
-#: ../src/verbs.cpp:2406
+#: ../src/verbs.cpp:2466
 msgid "Remove mask from selection"
 msgstr "Remover máscara da seleção"
 
-#: ../src/verbs.cpp:2408
+#: ../src/verbs.cpp:2468
 msgid ""
 "Apply clipping path to selection (using the topmost object as clipping path)"
 msgstr ""
 "Aplicar clip ao caminho da seleção (usa o objeto acima como o caminho para o "
 "clip)"
 
-#: ../src/verbs.cpp:2410 ../src/widgets/toolbox.cpp:1222
+#: ../src/verbs.cpp:2470 ../src/widgets/toolbox.cpp:1412
 #, fuzzy
 msgid "Edit clipping path"
 msgstr "Definir caminho recortado"
 
-#: ../src/verbs.cpp:2412
+#: ../src/verbs.cpp:2472
 msgid "Remove clipping path from selection"
 msgstr "Remover clip ao caminho da seleção"
 
 #. Tools
-#: ../src/verbs.cpp:2415
+#: ../src/verbs.cpp:2475
 msgid "Select"
 msgstr "Selecionar"
 
-#: ../src/verbs.cpp:2416
+#: ../src/verbs.cpp:2476
 msgid "Select and transform objects"
 msgstr "Selecionar e transformar objetos"
 
-#: ../src/verbs.cpp:2417
+#: ../src/verbs.cpp:2477
 msgid "Node Edit"
 msgstr "Alterar Nó"
 
-#: ../src/verbs.cpp:2418
+#: ../src/verbs.cpp:2478
 msgid "Edit paths by nodes"
 msgstr "Editar caminhos por nós"
 
-#: ../src/verbs.cpp:2420
+#: ../src/verbs.cpp:2480
 msgid "Tweak objects by sculpting or painting"
 msgstr "Ajustar objetos ao esculpí-los ou pintá-los"
 
-#: ../src/verbs.cpp:2422
+#: ../src/verbs.cpp:2482
 msgid "Create rectangles and squares"
 msgstr "Criar retângulos e quadrados"
 
-#: ../src/verbs.cpp:2424
+#: ../src/verbs.cpp:2484
 msgid "Create 3D boxes"
 msgstr "Criar caixas 3D"
 
-#: ../src/verbs.cpp:2426
+#: ../src/verbs.cpp:2486
 msgid "Create circles, ellipses, and arcs"
 msgstr "Criar círculos, elipses e arcos"
 
-#: ../src/verbs.cpp:2428
+#: ../src/verbs.cpp:2488
 msgid "Create stars and polygons"
 msgstr "Criar estrelas e polígonos"
 
-#: ../src/verbs.cpp:2430
+#: ../src/verbs.cpp:2490
 msgid "Create spirals"
 msgstr "Criar espirais"
 
-#: ../src/verbs.cpp:2432
+#: ../src/verbs.cpp:2492
 msgid "Draw freehand lines"
 msgstr "Desenhar linhas a mão-livre"
 
-#: ../src/verbs.cpp:2434
+#: ../src/verbs.cpp:2494
 msgid "Draw Bezier curves and straight lines"
 msgstr "Desenhar curvas Bezier e linhas retas"
 
-#: ../src/verbs.cpp:2436
+#: ../src/verbs.cpp:2496
 msgid "Draw calligraphic or brush strokes"
 msgstr "Desenhar linhas caligráficas ou traços de pincel"
 
-#: ../src/verbs.cpp:2438
+#: ../src/verbs.cpp:2498
 msgid "Create and edit text objects"
 msgstr "Criar e alterar objetos texto"
 
-#: ../src/verbs.cpp:2440
+#: ../src/verbs.cpp:2500
 msgid "Create and edit gradients"
 msgstr "Criar e editar degradês"
 
-#: ../src/verbs.cpp:2442
+#: ../src/verbs.cpp:2502
 msgid "Zoom in or out"
 msgstr "Ampliar ou Reduzir nível de zoom"
 
-#: ../src/verbs.cpp:2444
+#: ../src/verbs.cpp:2504
 msgid "Pick colors from image"
 msgstr "Pegar cores da imagem"
 
-#: ../src/verbs.cpp:2446
+#: ../src/verbs.cpp:2506
 msgid "Create diagram connectors"
 msgstr "Criar conectores de diagrama"
 
 # Talvez seja melhor "próximas" ao invés de "coladas"
-#: ../src/verbs.cpp:2448
+#: ../src/verbs.cpp:2508
 msgid "Fill bounded areas"
 msgstr "Preencher áreas fechadas"
 
-#: ../src/verbs.cpp:2449
+#: ../src/verbs.cpp:2509
 #, fuzzy
 msgid "LPE Edit"
 msgstr "_Editar"
 
-#: ../src/verbs.cpp:2450
+#: ../src/verbs.cpp:2510
 #, fuzzy
 msgid "Edit Live Path Effect parameters"
 msgstr "Próximo "
 
-#: ../src/verbs.cpp:2452
+#: ../src/verbs.cpp:2512
 #, fuzzy
 msgid "Erase existing paths"
 msgstr "Soltar caminho recortado"
 
+#: ../src/verbs.cpp:2514
+msgid "Do geometric constructions"
+msgstr ""
+
 #. Tool prefs
-#: ../src/verbs.cpp:2454
+#: ../src/verbs.cpp:2516
 msgid "Selector Preferences"
 msgstr "Propriedades do Seletor"
 
-#: ../src/verbs.cpp:2455
+#: ../src/verbs.cpp:2517
 msgid "Open Preferences for the Selector tool"
 msgstr "Abrir Preferências para a ferramenta Seletor"
 
-#: ../src/verbs.cpp:2456
+#: ../src/verbs.cpp:2518
 msgid "Node Tool Preferences"
 msgstr "Propriedades da Ferramenta Nó"
 
-#: ../src/verbs.cpp:2457
+#: ../src/verbs.cpp:2519
 msgid "Open Preferences for the Node tool"
 msgstr "Abre as Preferências da Ferramenta Nó"
 
-#: ../src/verbs.cpp:2458
+#: ../src/verbs.cpp:2520
 msgid "Tweak Tool Preferences"
 msgstr "Preferências da Ferramenta de Ajuster"
 
-#: ../src/verbs.cpp:2459
+#: ../src/verbs.cpp:2521
 #, fuzzy
 msgid "Open Preferences for the Tweak tool"
 msgstr "Abrir Preferências da Ferramenta de Texto"
 
-#: ../src/verbs.cpp:2460
+#: ../src/verbs.cpp:2522
 msgid "Rectangle Preferences"
 msgstr "Propriedades de Retângulos"
 
-#: ../src/verbs.cpp:2461
+#: ../src/verbs.cpp:2523
 msgid "Open Preferences for the Rectangle tool"
 msgstr "Abre as Preferências da ferramenta Retângulo"
 
-#: ../src/verbs.cpp:2462
+#: ../src/verbs.cpp:2524
 msgid "3D Box Preferences"
 msgstr "Preferências de Caixa 3D"
 
-#: ../src/verbs.cpp:2463
+#: ../src/verbs.cpp:2525
 #, fuzzy
 msgid "Open Preferences for the 3D Box tool"
 msgstr "Abre as Preferências da Ferramenta Nó"
 
-#: ../src/verbs.cpp:2464
+#: ../src/verbs.cpp:2526
 msgid "Ellipse Preferences"
 msgstr "Propriedades de Elipses"
 
-#: ../src/verbs.cpp:2465
+#: ../src/verbs.cpp:2527
 msgid "Open Preferences for the Ellipse tool"
 msgstr "Abre as Preferências da ferramenta Elipse"
 
-#: ../src/verbs.cpp:2466
+#: ../src/verbs.cpp:2528
 msgid "Star Preferences"
 msgstr "Propriedades de Estrelas"
 
-#: ../src/verbs.cpp:2467
+#: ../src/verbs.cpp:2529
 msgid "Open Preferences for the Star tool"
 msgstr "Abre as Preferências da ferramenta Estrela"
 
-#: ../src/verbs.cpp:2468
+#: ../src/verbs.cpp:2530
 msgid "Spiral Preferences"
 msgstr "Propriedades de Espirais"
 
-#: ../src/verbs.cpp:2469
+#: ../src/verbs.cpp:2531
 msgid "Open Preferences for the Spiral tool"
 msgstr "Abrir Preferências da Ferramenta Espiral"
 
-#: ../src/verbs.cpp:2470
+#: ../src/verbs.cpp:2532
 msgid "Pencil Preferences"
 msgstr "Propriedades do Lápis"
 
-#: ../src/verbs.cpp:2471
+#: ../src/verbs.cpp:2533
 msgid "Open Preferences for the Pencil tool"
 msgstr "Abrir Preferências da Ferramenta Lápis"
 
-#: ../src/verbs.cpp:2472
+#: ../src/verbs.cpp:2534
 msgid "Pen Preferences"
 msgstr "Propriedades da Caneta"
 
-#: ../src/verbs.cpp:2473
+#: ../src/verbs.cpp:2535
 msgid "Open Preferences for the Pen tool"
 msgstr "Abrir Preferências da Ferramenta Caneta"
 
-#: ../src/verbs.cpp:2474
+#: ../src/verbs.cpp:2536
 msgid "Calligraphic Preferences"
 msgstr "Propriedades de Linhas Caligráficas"
 
-#: ../src/verbs.cpp:2475
+#: ../src/verbs.cpp:2537
 msgid "Open Preferences for the Calligraphy tool"
 msgstr "Abrir Preferências da Ferramenta Caligráfica"
 
-#: ../src/verbs.cpp:2476
+#: ../src/verbs.cpp:2538
 msgid "Text Preferences"
 msgstr "Propriedades de Textos"
 
-#: ../src/verbs.cpp:2477
+#: ../src/verbs.cpp:2539
 msgid "Open Preferences for the Text tool"
 msgstr "Abrir Preferências da Ferramenta de Texto"
 
-#: ../src/verbs.cpp:2478
+#: ../src/verbs.cpp:2540
 msgid "Gradient Preferences"
 msgstr "Preferências do degradê"
 
-#: ../src/verbs.cpp:2479
+#: ../src/verbs.cpp:2541
 msgid "Open Preferences for the Gradient tool"
 msgstr "Abrir Preferências da Ferramenta de degradê"
 
-#: ../src/verbs.cpp:2480
+#: ../src/verbs.cpp:2542
 msgid "Zoom Preferences"
 msgstr "Propriedades de Ampliações"
 
-#: ../src/verbs.cpp:2481
+#: ../src/verbs.cpp:2543
 msgid "Open Preferences for the Zoom tool"
 msgstr "Abrir Preferências da Ferramenta de Ampliação"
 
-#: ../src/verbs.cpp:2482
+#: ../src/verbs.cpp:2544
 msgid "Dropper Preferences"
 msgstr "Propriedades do Borrão"
 
-#: ../src/verbs.cpp:2483
+#: ../src/verbs.cpp:2545
 msgid "Open Preferences for the Dropper tool"
 msgstr "Abrir Preferências da Ferramenta Borrão"
 
-#: ../src/verbs.cpp:2484
+#: ../src/verbs.cpp:2546
 msgid "Connector Preferences"
 msgstr "Propriedades do Seletor"
 
-#: ../src/verbs.cpp:2485
+#: ../src/verbs.cpp:2547
 msgid "Open Preferences for the Connector tool"
 msgstr "Abre as Preferências da ferramenta Conector"
 
-#: ../src/verbs.cpp:2486
+#: ../src/verbs.cpp:2548
 msgid "Paint Bucket Preferences"
 msgstr "Preferências do balde de tinta"
 
-#: ../src/verbs.cpp:2487
+#: ../src/verbs.cpp:2549
 #, fuzzy
 msgid "Open Preferences for the Paint Bucket tool"
 msgstr "Abrir Preferências da Ferramenta Caneta"
 
-#: ../src/verbs.cpp:2488
+#: ../src/verbs.cpp:2550
 #, fuzzy
 msgid "Eraser Preferences"
 msgstr "Propriedades de Estrelas"
 
-#: ../src/verbs.cpp:2489
+#: ../src/verbs.cpp:2551
 #, fuzzy
 msgid "Open Preferences for the Eraser tool"
 msgstr "Abre as Preferências da ferramenta Estrela"
 
+#: ../src/verbs.cpp:2552
+#, fuzzy
+msgid "LPE Tool Preferences"
+msgstr "Propriedades da Ferramenta Nó"
+
+#: ../src/verbs.cpp:2553
+#, fuzzy
+msgid "Open Preferences for the LPETool tool"
+msgstr "Abrir Preferências da Ferramenta de Ampliação"
+
 #. Zoom/View
-#: ../src/verbs.cpp:2492
+#: ../src/verbs.cpp:2556
 msgid "Zoom In"
 msgstr "Ampliar"
 
-#: ../src/verbs.cpp:2492
+#: ../src/verbs.cpp:2556
 msgid "Zoom in"
 msgstr "Ampliar"
 
-#: ../src/verbs.cpp:2493
+#: ../src/verbs.cpp:2557
 msgid "Zoom Out"
 msgstr "Reduzir"
 
-#: ../src/verbs.cpp:2493
+#: ../src/verbs.cpp:2557
 msgid "Zoom out"
 msgstr "Reduzir"
 
-#: ../src/verbs.cpp:2494
+#: ../src/verbs.cpp:2558
 msgid "_Rulers"
 msgstr "_Réguas"
 
-#: ../src/verbs.cpp:2494
+#: ../src/verbs.cpp:2558
 msgid "Show or hide the canvas rulers"
 msgstr "Mostrar ou esconder as réguas da tela"
 
-#: ../src/verbs.cpp:2495
+#: ../src/verbs.cpp:2559
 msgid "Scroll_bars"
 msgstr "_Barras de Rolagem"
 
-#: ../src/verbs.cpp:2495
+#: ../src/verbs.cpp:2559
 msgid "Show or hide the canvas scrollbars"
 msgstr "Mostrar ou esconder as barras de rolagem da tela"
 
-#: ../src/verbs.cpp:2496
+#: ../src/verbs.cpp:2560
 msgid "_Grid"
 msgstr "_Grade"
 
-#: ../src/verbs.cpp:2496
+#: ../src/verbs.cpp:2560
 msgid "Show or hide the grid"
 msgstr "Mostrar ou esconder a grade da tela"
 
-#: ../src/verbs.cpp:2497
+#: ../src/verbs.cpp:2561
 msgid "G_uides"
 msgstr "G_uias"
 
-#: ../src/verbs.cpp:2497
+#: ../src/verbs.cpp:2561
 msgid "Show or hide guides (drag from a ruler to create a guide)"
 msgstr ""
 "Mostrar ou esconder guias (clique e arraste a partir de uma das réguas para "
 "criar uma guia)"
 
-#: ../src/verbs.cpp:2499
+#: ../src/verbs.cpp:2563
 msgid "Nex_t Zoom"
 msgstr "Pró_xima Ampliação"
 
-#: ../src/verbs.cpp:2499
+#: ../src/verbs.cpp:2563
 msgid "Next zoom (from the history of zooms)"
 msgstr "Próxima ampliação (da lista de ampliações utilizadas)"
 
-#: ../src/verbs.cpp:2501
+#: ../src/verbs.cpp:2565
 msgid "Pre_vious Zoom"
 msgstr "Amp_liação Anterior"
 
-#: ../src/verbs.cpp:2501
+#: ../src/verbs.cpp:2565
 msgid "Previous zoom (from the history of zooms)"
 msgstr "Ampliação Anterior (da lista de ampliações utilizadas)"
 
-#: ../src/verbs.cpp:2503
+#: ../src/verbs.cpp:2567
 msgid "Zoom 1:_1"
 msgstr "Ampliação 1:_1"
 
-#: ../src/verbs.cpp:2503
+#: ../src/verbs.cpp:2567
 msgid "Zoom to 1:1"
 msgstr "Mostra do tamanho original do desenho"
 
-#: ../src/verbs.cpp:2505
+#: ../src/verbs.cpp:2569
 msgid "Zoom 1:_2"
 msgstr "Ampliação 1:_2"
 
-#: ../src/verbs.cpp:2505
+#: ../src/verbs.cpp:2569
 msgid "Zoom to 1:2"
 msgstr "Mostra no dobro do tamanho do desenho"
 
-#: ../src/verbs.cpp:2507
+#: ../src/verbs.cpp:2571
 msgid "_Zoom 2:1"
 msgstr "Ampliaçã_o 2:1"
 
-#: ../src/verbs.cpp:2507
+#: ../src/verbs.cpp:2571
 msgid "Zoom to 2:1"
 msgstr "Mostra na metade do tamanho do desenho"
 
-#: ../src/verbs.cpp:2510
+#: ../src/verbs.cpp:2574
 msgid "_Fullscreen"
 msgstr "_Tela cheia"
 
-#: ../src/verbs.cpp:2510
+#: ../src/verbs.cpp:2574
 msgid "Stretch this document window to full screen"
 msgstr "Alarga esta janela de desenho para ocupar todo o monitor"
 
-#: ../src/verbs.cpp:2513
+#: ../src/verbs.cpp:2577
+msgid "Toggle _Focus Mode"
+msgstr ""
+
+#: ../src/verbs.cpp:2577
+msgid "Remove excess toolbars to focus on drawing"
+msgstr ""
+
+#: ../src/verbs.cpp:2579
 msgid "Duplic_ate Window"
 msgstr "Duplic_ar Janela"
 
-#: ../src/verbs.cpp:2513
+#: ../src/verbs.cpp:2579
 msgid "Open a new window with the same document"
 msgstr "Abre uma novo janela com o mesmo desenho"
 
-#: ../src/verbs.cpp:2515
+#: ../src/verbs.cpp:2581
 msgid "_New View Preview"
 msgstr "_Nova Visualização"
 
-#: ../src/verbs.cpp:2516
+#: ../src/verbs.cpp:2582
 msgid "New View Preview"
 msgstr "Nova visualização"
 
 #. "view_new_preview"
-#: ../src/verbs.cpp:2518
+#: ../src/verbs.cpp:2584
 msgid "_Normal"
 msgstr "_Normal"
 
-#: ../src/verbs.cpp:2519
+#: ../src/verbs.cpp:2585
 msgid "Switch to normal display mode"
 msgstr "Trocar para o modo de visualização normal"
 
-#: ../src/verbs.cpp:2520
+#: ../src/verbs.cpp:2586
 #, fuzzy
 msgid "No _Filters"
 msgstr "_Filtro"
 
-#: ../src/verbs.cpp:2521
+#: ../src/verbs.cpp:2587
 #, fuzzy
 msgid "Switch to normal display without filters"
 msgstr "Trocar para o modo de visualização normal"
 
-#: ../src/verbs.cpp:2522
+#: ../src/verbs.cpp:2588
 msgid "_Outline"
 msgstr "_Contorno"
 
-#: ../src/verbs.cpp:2523
+#: ../src/verbs.cpp:2589
 msgid "Switch to outline (wireframe) display mode"
 msgstr "Trocar para o modo de visualização de contorno"
 
-#: ../src/verbs.cpp:2524
+#: ../src/verbs.cpp:2590
 msgid "_Toggle"
 msgstr "Al_ternar"
 
-#: ../src/verbs.cpp:2525
+#: ../src/verbs.cpp:2591
 msgid "Toggle between normal and outline display modes"
 msgstr "Alternar entre os modos de visualização"
 
-#: ../src/verbs.cpp:2527
+#: ../src/verbs.cpp:2593
 #, fuzzy
 msgid "Color-managed view"
 msgstr "Gerenciamento de cor"
 
-#: ../src/verbs.cpp:2528
+#: ../src/verbs.cpp:2594
 #, fuzzy
 msgid "Toggle color-managed display for this document window"
 msgstr "Fechar a janela do documento"
 
-#: ../src/verbs.cpp:2530
+#: ../src/verbs.cpp:2596
 msgid "Ico_n Preview..."
 msgstr "Pré-visualização do Íco_ne..."
 
-#: ../src/verbs.cpp:2531
+#: ../src/verbs.cpp:2597
 msgid "Open a window to preview objects at different icon resolutions"
 msgstr ""
 "Abre uma janela para pré-visualizar itens em diferentes resoluções de ícone"
 
-#: ../src/verbs.cpp:2533
+#: ../src/verbs.cpp:2599
 msgid "Zoom to fit page in window"
 msgstr "Ampliar para caber a página na janela"
 
-#: ../src/verbs.cpp:2534
+#: ../src/verbs.cpp:2600
 msgid "Page _Width"
 msgstr "_Largura da Página"
 
-#: ../src/verbs.cpp:2535
+#: ../src/verbs.cpp:2601
 msgid "Zoom to fit page width in window"
 msgstr "Ampliar para caber a largura da página na janela"
 
-#: ../src/verbs.cpp:2537
+#: ../src/verbs.cpp:2603
 msgid "Zoom to fit drawing in window"
 msgstr "Ampliar para caber o desenho na janela"
 
-#: ../src/verbs.cpp:2539
+#: ../src/verbs.cpp:2605
 msgid "Zoom to fit selection in window"
 msgstr "Ampliar para caber a seleção na janela"
 
 #. Dialogs
-#: ../src/verbs.cpp:2542
+#: ../src/verbs.cpp:2608
 msgid "In_kscape Preferences..."
 msgstr "Configurações do In_kscape"
 
-#: ../src/verbs.cpp:2543
+#: ../src/verbs.cpp:2609
 msgid "Edit global Inkscape preferences"
 msgstr "Editar configurações globais do Inkscape"
 
-#: ../src/verbs.cpp:2544
+#: ../src/verbs.cpp:2610
 msgid "_Document Properties..."
 msgstr "Propriedades do _Desenho..."
 
-#: ../src/verbs.cpp:2545
+#: ../src/verbs.cpp:2611
 msgid "Edit properties of this document (to be saved with the document)"
 msgstr "Propriedades salvas com o desenho"
 
-#: ../src/verbs.cpp:2546
+#: ../src/verbs.cpp:2612
 msgid "Document _Metadata..."
 msgstr "_Metadados do Desenho..."
 
-#: ../src/verbs.cpp:2547
+#: ../src/verbs.cpp:2613
 msgid "Edit document metadata (to be saved with the document)"
 msgstr "Metadados salvos com o desenho"
 
-#: ../src/verbs.cpp:2548
+#: ../src/verbs.cpp:2614
 msgid "_Fill and Stroke..."
 msgstr "_Preenchimento e Traço..."
 
-#: ../src/verbs.cpp:2549
+#: ../src/verbs.cpp:2615
 msgid ""
 "Edit objects' colors, gradients, stroke width, arrowheads, dash patterns..."
 msgstr ""
@@ -15329,91 +16102,91 @@ msgstr ""
 "padrões de traço..."
 
 #. TRANSLATORS: "Swatches" means: color samples
-#: ../src/verbs.cpp:2551
+#: ../src/verbs.cpp:2617
 msgid "S_watches..."
 msgstr "Modelos de Cores..."
 
-#: ../src/verbs.cpp:2552
+#: ../src/verbs.cpp:2618
 msgid "Select colors from a swatches palette"
 msgstr "Selecionar cores de uma paleta modelo"
 
-#: ../src/verbs.cpp:2553
+#: ../src/verbs.cpp:2619
 msgid "Transfor_m..."
 msgstr "Transfor_mação..."
 
-#: ../src/verbs.cpp:2554
+#: ../src/verbs.cpp:2620
 msgid "Precisely control objects' transformations"
 msgstr "Controlar precisamente as transformações dos objetos"
 
-#: ../src/verbs.cpp:2555
+#: ../src/verbs.cpp:2621
 msgid "_Align and Distribute..."
 msgstr "_Alinhar e Distribuir..."
 
-#: ../src/verbs.cpp:2556
+#: ../src/verbs.cpp:2622
 msgid "Align and distribute objects"
 msgstr "Alinhar e distribuir objetos"
 
-#: ../src/verbs.cpp:2557
+#: ../src/verbs.cpp:2623
 msgid "Undo _History..."
 msgstr "_Histórico do desfazer..."
 
-#: ../src/verbs.cpp:2558
+#: ../src/verbs.cpp:2624
 msgid "Undo History"
 msgstr "Histórico do desfazer"
 
-#: ../src/verbs.cpp:2559
+#: ../src/verbs.cpp:2625
 msgid "_Text and Font..."
 msgstr "_Texto e Fonte..."
 
-#: ../src/verbs.cpp:2560
+#: ../src/verbs.cpp:2626
 msgid "View and select font family, font size and other text properties"
 msgstr "Selecionar fonte, tamanho da fonte e outras propriedades do texto"
 
-#: ../src/verbs.cpp:2561
+#: ../src/verbs.cpp:2627
 msgid "_XML Editor..."
 msgstr "Editor _XML..."
 
-#: ../src/verbs.cpp:2562
+#: ../src/verbs.cpp:2628
 msgid "View and edit the XML tree of the document"
 msgstr "Ver e editar a árvore XML do desenho"
 
-#: ../src/verbs.cpp:2563
+#: ../src/verbs.cpp:2629
 msgid "_Find..."
 msgstr "_Encontrar..."
 
-#: ../src/verbs.cpp:2564
+#: ../src/verbs.cpp:2630
 msgid "Find objects in document"
 msgstr "Encontrar objetos no desenho"
 
-#: ../src/verbs.cpp:2565
+#: ../src/verbs.cpp:2631
 msgid "_Messages..."
 msgstr "_Mensagens..."
 
-#: ../src/verbs.cpp:2566
+#: ../src/verbs.cpp:2632
 msgid "View debug messages"
 msgstr "Ver mensagens de depuração"
 
-#: ../src/verbs.cpp:2567
+#: ../src/verbs.cpp:2633
 msgid "S_cripts..."
 msgstr "S_cripts..."
 
-#: ../src/verbs.cpp:2568
+#: ../src/verbs.cpp:2634
 msgid "Run scripts"
 msgstr "Executar scripts"
 
-#: ../src/verbs.cpp:2569
+#: ../src/verbs.cpp:2635
 msgid "Show/Hide D_ialogs"
 msgstr "Mostrar/Esconder Ca_ixas de Diálogo"
 
-#: ../src/verbs.cpp:2570
+#: ../src/verbs.cpp:2636
 msgid "Show or hide all open dialogs"
 msgstr "Mostrar ou esconder todas as janelas ativas"
 
-#: ../src/verbs.cpp:2571
+#: ../src/verbs.cpp:2637
 msgid "Create Tiled Clones..."
 msgstr "Criar Clones Ladrilhados..."
 
-#: ../src/verbs.cpp:2572
+#: ../src/verbs.cpp:2638
 msgid ""
 "Create multiple clones of selected object, arranging them into a pattern or "
 "scattering"
@@ -15421,91 +16194,100 @@ msgstr ""
 "Criar múltiplos clones do objeto selecionado, arrumando-os em um padrão "
 "definido"
 
-#: ../src/verbs.cpp:2573
+#: ../src/verbs.cpp:2639
 msgid "_Object Properties..."
 msgstr "Propriedades do _Objeto"
 
-#: ../src/verbs.cpp:2574
+#: ../src/verbs.cpp:2640
 msgid "Edit the ID, locked and visible status, and other object properties"
 msgstr "Editar a ID, estados de visão e edição e outras propriedades do objeto"
 
-#: ../src/verbs.cpp:2577
+#: ../src/verbs.cpp:2643
 msgid "_Instant Messaging..."
 msgstr "_Mensagens Instantâneas..."
 
-#: ../src/verbs.cpp:2577
+#: ../src/verbs.cpp:2643
 msgid "Jabber Instant Messaging Client"
 msgstr "Cliente Jabber de Mensagem Instantânea"
 
-#: ../src/verbs.cpp:2579
+#: ../src/verbs.cpp:2645
 msgid "_Input Devices..."
 msgstr "D_ispositivos de Entrada..."
 
-#: ../src/verbs.cpp:2580 ../src/verbs.cpp:2582
+#: ../src/verbs.cpp:2646 ../src/verbs.cpp:2648
 msgid "Configure extended input devices, such as a graphics tablet"
 msgstr ""
 "Configurar dispositivos de entrada complementares, como uma mesa "
 "digitalizadora"
 
-#: ../src/verbs.cpp:2581
+#: ../src/verbs.cpp:2647
 #, fuzzy
 msgid "_Input Devices (new)..."
 msgstr "D_ispositivos de Entrada..."
 
-#: ../src/verbs.cpp:2583
+#: ../src/verbs.cpp:2649
 msgid "_Extensions..."
 msgstr "_Extensões..."
 
-#: ../src/verbs.cpp:2584
+#: ../src/verbs.cpp:2650
 msgid "Query information about extensions"
 msgstr "Buscar informações sobre extensões"
 
-#: ../src/verbs.cpp:2585
+#: ../src/verbs.cpp:2651
 msgid "Layer_s..."
 msgstr "_Camadas..."
 
-#: ../src/verbs.cpp:2586
+#: ../src/verbs.cpp:2652
 msgid "View Layers"
 msgstr "Visualizar Camadas"
 
-#: ../src/verbs.cpp:2587
+#: ../src/verbs.cpp:2653
 msgid "Path Effects..."
 msgstr "Efeitos sobre caminhos..."
 
-#: ../src/verbs.cpp:2588
+#: ../src/verbs.cpp:2654
 msgid "Manage path effects"
 msgstr "Gerenciar efeitos sobre caminhos..."
 
-#: ../src/verbs.cpp:2589
+#: ../src/verbs.cpp:2655
 msgid "Filter Effects..."
 msgstr "Filtros..."
 
-#: ../src/verbs.cpp:2590
+#: ../src/verbs.cpp:2656
 msgid "Manage SVG filter effects"
 msgstr "Administrar efeitos de filtro SVG"
 
+#: ../src/verbs.cpp:2657
+msgid "SVG Fonts..."
+msgstr ""
+
+#: ../src/verbs.cpp:2658
+#, fuzzy
+msgid "Manage SVG fonts"
+msgstr "Administrar efeitos de filtro SVG"
+
 #. Help
-#: ../src/verbs.cpp:2593
+#: ../src/verbs.cpp:2661
 msgid "About E_xtensions"
 msgstr "Sobre E_xtensões"
 
-#: ../src/verbs.cpp:2594
+#: ../src/verbs.cpp:2662
 msgid "Information on Inkscape extensions"
 msgstr "Informações sobre extensões do Inkscape"
 
-#: ../src/verbs.cpp:2595
+#: ../src/verbs.cpp:2663
 msgid "About _Memory"
 msgstr "Sobre a _Memória"
 
-#: ../src/verbs.cpp:2596
+#: ../src/verbs.cpp:2664
 msgid "Memory usage information"
 msgstr "Informações sobre uso de memória"
 
-#: ../src/verbs.cpp:2597
+#: ../src/verbs.cpp:2665
 msgid "_About Inkscape"
 msgstr "_Sobre o Inkscape"
 
-#: ../src/verbs.cpp:2598
+#: ../src/verbs.cpp:2666
 msgid "Inkscape version, authors, license"
 msgstr "Inkscape versão, autores, licença"
 
@@ -15513,126 +16295,113 @@ msgstr "Inkscape versão, autores, licença"
 #. new HelpVerb(SP_VERB_SHOW_LICENSE, "ShowLicense", N_("_License"),
 #. N_("Distribution terms"), /*"show_license"*/"inkscape_options"),
 #. Tutorials
-#: ../src/verbs.cpp:2603
+#: ../src/verbs.cpp:2671
 msgid "Inkscape: _Basic"
 msgstr "Inkscape: _Básico"
 
-#: ../src/verbs.cpp:2604
+#: ../src/verbs.cpp:2672
 msgid "Getting started with Inkscape"
 msgstr "Iniciando no Inkscape"
 
 #. "tutorial_basic"
-#: ../src/verbs.cpp:2605
+#: ../src/verbs.cpp:2673
 msgid "Inkscape: _Shapes"
 msgstr "Inkscape: Forma_s"
 
-#: ../src/verbs.cpp:2606
+#: ../src/verbs.cpp:2674
 msgid "Using shape tools to create and edit shapes"
 msgstr "Usar ferramentas de formas para criar e alterar formas"
 
-#: ../src/verbs.cpp:2607
+#: ../src/verbs.cpp:2675
 msgid "Inkscape: _Advanced"
 msgstr "Inkscape: _Avançado"
 
-#: ../src/verbs.cpp:2608
+#: ../src/verbs.cpp:2676
 msgid "Advanced Inkscape topics"
 msgstr "Tópicos Avançados do Inkscape"
 
 #. "tutorial_advanced"
 #. TRANSLATORS: "to trace" means "to convert a bitmap to vector graphics" (to vectorize)
-#: ../src/verbs.cpp:2610
+#: ../src/verbs.cpp:2678
 msgid "Inkscape: T_racing"
 msgstr "Inkscape: Traçando"
 
-#: ../src/verbs.cpp:2611
+#: ../src/verbs.cpp:2679
 msgid "Using bitmap tracing"
 msgstr "Usando o traçador de bitmaps"
 
 #. "tutorial_tracing"
-#: ../src/verbs.cpp:2612
+#: ../src/verbs.cpp:2680
 msgid "Inkscape: _Calligraphy"
 msgstr "Inkscape: _Caligrafia"
 
-#: ../src/verbs.cpp:2613
+#: ../src/verbs.cpp:2681
 msgid "Using the Calligraphy pen tool"
 msgstr "Utilizando a ferramenta Caneta Caligráfica"
 
-#: ../src/verbs.cpp:2614
+#: ../src/verbs.cpp:2682
 msgid "_Elements of Design"
 msgstr "_Elementos do Desenho"
 
-#: ../src/verbs.cpp:2615
+#: ../src/verbs.cpp:2683
 msgid "Principles of design in the tutorial form"
 msgstr "Tutorial sobre os princípios do desenho"
 
 #. "tutorial_design"
-#: ../src/verbs.cpp:2616
+#: ../src/verbs.cpp:2684
 msgid "_Tips and Tricks"
 msgstr "Dicas e _Truques"
 
-#: ../src/verbs.cpp:2617
+#: ../src/verbs.cpp:2685
 msgid "Miscellaneous tips and tricks"
 msgstr "Dicas e truques variados"
 
 #. "tutorial_tips"
 #. Effect
-#: ../src/verbs.cpp:2620
+#: ../src/verbs.cpp:2688
 msgid "Previous Effect"
 msgstr "Efeito Anterior"
 
-#: ../src/verbs.cpp:2621
+#: ../src/verbs.cpp:2689
 msgid "Repeat the last effect with the same settings"
 msgstr "Repetir o último efeito com as mesmas configurações"
 
-#: ../src/verbs.cpp:2622
+#: ../src/verbs.cpp:2690
 msgid "Previous Effect Settings..."
 msgstr "Configuração do efeito anterior..."
 
-#: ../src/verbs.cpp:2623
+#: ../src/verbs.cpp:2691
 msgid "Repeat the last effect with new settings"
 msgstr "Repetir o último efeito com novas configurações"
 
-#. Fit Page
-#: ../src/verbs.cpp:2626
-msgid "Fit Page to Selection"
-msgstr "Ajustar Tela à Seleção"
-
-#: ../src/verbs.cpp:2627
+#: ../src/verbs.cpp:2695
 msgid "Fit the page to the current selection"
 msgstr "Ajusta a tela à seleção atual"
 
-#: ../src/verbs.cpp:2628
-msgid "Fit Page to Drawing"
-msgstr "Ajustar Tela ao Desenho"
-
-#: ../src/verbs.cpp:2629
+#: ../src/verbs.cpp:2697
 msgid "Fit the page to the drawing"
 msgstr "Ajusta a tela ao desenho"
 
-#: ../src/verbs.cpp:2630
-msgid "Fit Page to Selection or Drawing"
-msgstr "Ajustar Tela à Seleção ou ao Desenho"
-
-#: ../src/verbs.cpp:2631
+#: ../src/verbs.cpp:2699
 msgid ""
 "Fit the page to the current selection or the drawing if there is no selection"
 msgstr ""
 "Ajustar a tela à seleção atual ou ao desenho se não houver nada selecionado"
 
 #. LockAndHide
-#: ../src/verbs.cpp:2633
+#: ../src/verbs.cpp:2701
 msgid "Unlock All"
 msgstr "Destravar Tudo"
 
-#: ../src/verbs.cpp:2635
+#: ../src/verbs.cpp:2703
 msgid "Unlock All in All Layers"
 msgstr "Destravar Tudo em Todas as Camadas"
 
-#: ../src/verbs.cpp:2637
+#: ../src/verbs.cpp:2705
 msgid "Unhide All"
 msgstr "Mostrar Tudo"
 
-#: ../src/verbs.cpp:2639
+#: ../src/verbs.cpp:2707
 msgid "Unhide All in All Layers"
 msgstr "Mostrar Tudo em Todas as Camadas"
 
@@ -15646,46 +16415,46 @@ msgstr "Renomear arquivo"
 msgid "Save"
 msgstr "_Salvar"
 
-#: ../src/widgets/dash-selector.cpp:106
+#: ../src/widgets/dash-selector.cpp:59
 msgid "Dash pattern"
 msgstr "Padrão de traço"
 
-#: ../src/widgets/dash-selector.cpp:121
+#: ../src/widgets/dash-selector.cpp:74
 msgid "Pattern offset"
 msgstr "Padrão de Tipografia"
 
-#: ../src/widgets/desktop-widget.cpp:620
+#: ../src/widgets/desktop-widget.cpp:614
 #, c-format
 msgid "%s: %d (outline) - Inkscape"
 msgstr "%s: %d (contorno) - Inkscape"
 
-#: ../src/widgets/desktop-widget.cpp:622
+#: ../src/widgets/desktop-widget.cpp:616
 #, c-format
 msgid "%s: %d - Inkscape"
 msgstr "%s: %d - Inkscape"
 
-#: ../src/widgets/desktop-widget.cpp:626
+#: ../src/widgets/desktop-widget.cpp:620
 #, c-format
 msgid "%s (outline) - Inkscape"
 msgstr "%s (contorno) - Inkscape"
 
-#: ../src/widgets/desktop-widget.cpp:628
+#: ../src/widgets/desktop-widget.cpp:622
 #, c-format
 msgid "%s - Inkscape"
 msgstr "%s - Inkscape"
 
 #. Family frame
-#: ../src/widgets/font-selector.cpp:154
+#: ../src/widgets/font-selector.cpp:157
 msgid "Font family"
 msgstr "Família da fonte"
 
 #. Style frame
-#: ../src/widgets/font-selector.cpp:185
+#: ../src/widgets/font-selector.cpp:188
 #: ../share/extensions/polyhedron_3d.inx.h:44
 msgid "Style"
 msgstr "Estilo"
 
-#: ../src/widgets/font-selector.cpp:223
+#: ../src/widgets/font-selector.cpp:226
 msgid "Font size:"
 msgstr "Tamanho da Fonte"
 
@@ -15693,7 +16462,7 @@ msgstr "Tamanho da Fonte"
 #. * 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:639 ../src/widgets/toolbox.cpp:6080
 msgid "AaBbCcIiPpQq12369$€¢?.;/()"
 msgstr "AaBbCcIiPpQq12369$€¢?.;/()"
 
@@ -15751,11 +16520,11 @@ msgstr "<small>Múltiplos degradês</small>"
 msgid "Edit the stops of the gradient"
 msgstr "Editar as paradas do degradê"
 
-#: ../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
+#: ../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
 msgid "<b>New:</b>"
 msgstr "<b>Novo:</b>"
 
@@ -15767,6 +16536,7 @@ msgstr "Criar degradê linear"
 msgid "Create radial (elliptic or circular) gradient"
 msgstr "Criar degradê radial (elíptico ou circular)"
 
+#. TODO replace aux_toolbox_space(tbl, AUX_SPACING);
 #: ../src/widgets/gradient-toolbar.cpp:564
 msgid "on"
 msgstr "ligado"
@@ -15781,10 +16551,10 @@ msgstr "Criar degradê no traço"
 
 #. FIXME: implement averaging of all parameters for multiple selected
 #. gtk_label_set_markup(GTK_LABEL(l), _("<b>Average:</b>"));
-#: ../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: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
 msgid "<b>Change:</b>"
 msgstr "<b>Modificado:</b>"
 
@@ -15796,46 +16566,46 @@ msgstr "Nenhum degradê no desenho"
 msgid "No gradient selected"
 msgstr "Nenhum degradê selecionado"
 
-#: ../src/widgets/gradient-vector.cpp:538
+#: ../src/widgets/gradient-vector.cpp:541
 msgid "No stops in gradient"
 msgstr "Nenhuma parada no degradê"
 
-#: ../src/widgets/gradient-vector.cpp:661
+#: ../src/widgets/gradient-vector.cpp:664
 msgid "Change gradient stop offset"
 msgstr "Alterar posição da parada do degradê"
 
 #. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:803
+#: ../src/widgets/gradient-vector.cpp:806
 msgid "Add stop"
 msgstr "Adicionar parada"
 
-#: ../src/widgets/gradient-vector.cpp:806
+#: ../src/widgets/gradient-vector.cpp:809
 msgid "Add another control stop to gradient"
 msgstr "Adicionar outra parada de controle no degradê"
 
-#: ../src/widgets/gradient-vector.cpp:808
+#: ../src/widgets/gradient-vector.cpp:811
 msgid "Delete stop"
 msgstr "Apagar parada"
 
-#: ../src/widgets/gradient-vector.cpp:811
+#: ../src/widgets/gradient-vector.cpp:814
 msgid "Delete current control stop from gradient"
 msgstr "Apagar parada de controle atual do degradê"
 
 #. Label
-#: ../src/widgets/gradient-vector.cpp:822
+#: ../src/widgets/gradient-vector.cpp:825
 msgid "Offset:"
 msgstr "Offset:"
 
 #. TRANSLATORS: "Stop" means: a "phase" of a gradient
-#: ../src/widgets/gradient-vector.cpp:867
+#: ../src/widgets/gradient-vector.cpp:870
 msgid "Stop Color"
 msgstr "Cor da Parada"
 
-#: ../src/widgets/gradient-vector.cpp:896
+#: ../src/widgets/gradient-vector.cpp:899
 msgid "Gradient editor"
 msgstr "Editor de degradê"
 
-#: ../src/widgets/gradient-vector.cpp:1171
+#: ../src/widgets/gradient-vector.cpp:1174
 msgid "Change gradient stop color"
 msgstr "Alterar cor da parada do degradê"
 
@@ -15914,23 +16684,23 @@ msgstr ""
 "Use <b>Objeto &gt; Padrão de preenchimento &gt; Objeto para Padrão</b> para "
 "criar um novo padrão a partir da seleção."
 
-#: ../src/widgets/select-toolbar.cpp:244
+#: ../src/widgets/select-toolbar.cpp:245
 msgid "Transform by toolbar"
 msgstr "Transformar através da barra de ferramentas"
 
-#: ../src/widgets/select-toolbar.cpp:299
+#: ../src/widgets/select-toolbar.cpp:300
 msgid "Now <b>stroke width</b> is <b>scaled</b> when objects are scaled."
 msgstr ""
 "Agora a <b>largura do traço</b> é <b>redimensionada</b> de acordo com os "
 "objetos."
 
-#: ../src/widgets/select-toolbar.cpp:301
+#: ../src/widgets/select-toolbar.cpp:302
 msgid "Now <b>stroke width</b> is <b>not scaled</b> when objects are scaled."
 msgstr ""
 "Agora a <b>largura do traço</b> não é <b>redimensionada</b> de acordo com os "
 "objetos."
 
-#: ../src/widgets/select-toolbar.cpp:310
+#: ../src/widgets/select-toolbar.cpp:311
 msgid ""
 "Now <b>rounded rectangle corners</b> are <b>scaled</b> when rectangles are "
 "scaled."
@@ -15938,7 +16708,7 @@ msgstr ""
 "Agora os <b>cantos arredondados dos retângulos</b> são <b>redimensionada</b> "
 "de acordo com os retângulos."
 
-#: ../src/widgets/select-toolbar.cpp:312
+#: ../src/widgets/select-toolbar.cpp:313
 msgid ""
 "Now <b>rounded rectangle corners</b> are <b>not scaled</b> when rectangles "
 "are scaled."
@@ -15946,7 +16716,7 @@ msgstr ""
 "Agora os <b>cantos arredondados dos retângulos</b> não são "
 "<b>redimensionados</b> de acordo com os retângulos."
 
-#: ../src/widgets/select-toolbar.cpp:321
+#: ../src/widgets/select-toolbar.cpp:322
 msgid ""
 "Now <b>gradients</b> are <b>transformed</b> along with their objects when "
 "those are transformed (moved, scaled, rotated, or skewed)."
@@ -15954,7 +16724,7 @@ msgstr ""
 "Agora os <b>degradês</b> são <b>transformados</b> de acordo com as "
 "transformações nos objetos (mover, redimensionar, girar ou inclinar)."
 
-#: ../src/widgets/select-toolbar.cpp:323
+#: ../src/widgets/select-toolbar.cpp:324
 msgid ""
 "Now <b>gradients</b> remain <b>fixed</b> when objects are transformed "
 "(moved, scaled, rotated, or skewed)."
@@ -15962,7 +16732,7 @@ msgstr ""
 "Agora os <b>degradês</b> permanecem <b>fixos</b> com as transformações nos "
 "objetos (mover, redimensionar, girar ou inclinar)."
 
-#: ../src/widgets/select-toolbar.cpp:332
+#: ../src/widgets/select-toolbar.cpp:333
 msgid ""
 "Now <b>patterns</b> are <b>transformed</b> along with their objects when "
 "those are transformed (moved, scaled, rotated, or skewed)."
@@ -15970,7 +16740,7 @@ msgstr ""
 "Agora os <b>padrões</b> são <b>transformados</b> de acordo com as "
 "transformações nos objetos (mover, redimensionar, girar ou inclinar)."
 
-#: ../src/widgets/select-toolbar.cpp:334
+#: ../src/widgets/select-toolbar.cpp:335
 msgid ""
 "Now <b>patterns</b> remain <b>fixed</b> when objects are transformed (moved, "
 "scaled, rotated, or skewed)."
@@ -15981,87 +16751,87 @@ 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
+#: ../src/widgets/select-toolbar.cpp:447
 #, fuzzy
 msgid "select_toolbar|X position"
 msgstr "select_toolbar|X"
 
-#: ../src/widgets/select-toolbar.cpp:446
+#: ../src/widgets/select-toolbar.cpp:447
 msgid "select_toolbar|X"
 msgstr "select_toolbar|X"
 
-#: ../src/widgets/select-toolbar.cpp:448
+#: ../src/widgets/select-toolbar.cpp:449
 msgid "Horizontal coordinate of selection"
 msgstr "Coordenada horizontal da seleção"
 
 #. 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
+#: ../src/widgets/select-toolbar.cpp:455
 #, fuzzy
 msgid "select_toolbar|Y position"
 msgstr "select_toolbar|Y"
 
-#: ../src/widgets/select-toolbar.cpp:454
+#: ../src/widgets/select-toolbar.cpp:455
 msgid "select_toolbar|Y"
 msgstr "select_toolbar|Y"
 
-#: ../src/widgets/select-toolbar.cpp:456
+#: ../src/widgets/select-toolbar.cpp:457
 msgid "Vertical coordinate of selection"
 msgstr "Coordenada vertical da seleção"
 
 #. 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
+#: ../src/widgets/select-toolbar.cpp:463
 #, fuzzy
 msgid "select_toolbar|Width"
 msgstr "select_toolbar|W"
 
-#: ../src/widgets/select-toolbar.cpp:462
+#: ../src/widgets/select-toolbar.cpp:463
 msgid "select_toolbar|W"
 msgstr "select_toolbar|W"
 
-#: ../src/widgets/select-toolbar.cpp:464
+#: ../src/widgets/select-toolbar.cpp:465
 msgid "Width of selection"
 msgstr "Largura da seleção"
 
-#: ../src/widgets/select-toolbar.cpp:471
+#: ../src/widgets/select-toolbar.cpp:472
 #, fuzzy
 msgid "Lock width and height"
 msgstr "Largura, altura: "
 
-#: ../src/widgets/select-toolbar.cpp:472
+#: ../src/widgets/select-toolbar.cpp:473
 msgid "When locked, change both width and height by the same proportion"
 msgstr "Alterar largura e altura pela mesma proporção"
 
 #. 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
+#: ../src/widgets/select-toolbar.cpp:484
 #, fuzzy
 msgid "select_toolbar|Height"
 msgstr "select_toolbar|H"
 
-#: ../src/widgets/select-toolbar.cpp:483
+#: ../src/widgets/select-toolbar.cpp:484
 msgid "select_toolbar|H"
 msgstr "select_toolbar|H"
 
-#: ../src/widgets/select-toolbar.cpp:485
+#: ../src/widgets/select-toolbar.cpp:486
 msgid "Height of selection"
 msgstr "Altura da seleção"
 
-#: ../src/widgets/select-toolbar.cpp:516
+#: ../src/widgets/select-toolbar.cpp:523
 msgid "Affect:"
 msgstr "Afetar:"
 
-#: ../src/widgets/select-toolbar.cpp:535
+#: ../src/widgets/select-toolbar.cpp:542
 msgid "Scale rounded corners"
 msgstr "Ampliar cantos arredondados"
 
-#: ../src/widgets/select-toolbar.cpp:546
+#: ../src/widgets/select-toolbar.cpp:553
 #, fuzzy
 msgid "Move gradients"
 msgstr "Mover alça do degradê"
 
-#: ../src/widgets/select-toolbar.cpp:557
+#: ../src/widgets/select-toolbar.cpp:564
 #, fuzzy
 msgid "Move patterns"
 msgstr "Padrões"
@@ -16188,7 +16958,10 @@ msgstr "Alfa (transparência)"
 
 #: ../src/widgets/sp-color-notebook.cpp:329
 #, fuzzy
-msgid "RGBA_:"
+msgid ""
+"_:"
+"RGBA_:"
+""
 msgstr "_:RGBA_:"
 
 #: ../src/widgets/sp-color-notebook.cpp:337
@@ -16228,382 +17001,382 @@ msgstr "Valor"
 msgid "Type text in a text node"
 msgstr "Digitar texto em um nó de texto"
 
-#: ../src/widgets/toolbox.cpp:187
+#: ../src/widgets/toolbox.cpp:197
 msgid "Color/opacity used for color tweaking"
 msgstr "Opacidade/cor usada para ajuste de cor"
 
-#: ../src/widgets/toolbox.cpp:191
+#: ../src/widgets/toolbox.cpp:201
 msgid "Style of new stars"
 msgstr "Estilo de novas estrelas"
 
-#: ../src/widgets/toolbox.cpp:193
+#: ../src/widgets/toolbox.cpp:203
 msgid "Style of new rectangles"
 msgstr "Estilo de novos retângulos"
 
-#: ../src/widgets/toolbox.cpp:195
+#: ../src/widgets/toolbox.cpp:205
 msgid "Style of new 3D boxes"
 msgstr "Estilo de novas caixas 3D"
 
-#: ../src/widgets/toolbox.cpp:197
+#: ../src/widgets/toolbox.cpp:207
 msgid "Style of new ellipses"
 msgstr "Estilo de novas elipses"
 
-#: ../src/widgets/toolbox.cpp:199
+#: ../src/widgets/toolbox.cpp:209
 msgid "Style of new spirals"
 msgstr "Estilo de novas espirais"
 
-#: ../src/widgets/toolbox.cpp:201
+#: ../src/widgets/toolbox.cpp:211
 msgid "Style of new paths created by Pencil"
 msgstr "Estilo de novos caminhos criados pelo Lápis"
 
-#: ../src/widgets/toolbox.cpp:203
+#: ../src/widgets/toolbox.cpp:213
 msgid "Style of new paths created by Pen"
 msgstr "Estilo dos novos caminhos criados pela Caneta"
 
 # Porque estes "Style of new..." alguns têm estas traduções estranhas?
-#: ../src/widgets/toolbox.cpp:205
+#: ../src/widgets/toolbox.cpp:215
 msgid "Style of new calligraphic strokes"
 msgstr "Estilo de novos traços caligráficos"
 
-#: ../src/widgets/toolbox.cpp:207
+#: ../src/widgets/toolbox.cpp:217 ../src/widgets/toolbox.cpp:219
 msgid "TBD"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:217
+#: ../src/widgets/toolbox.cpp:229
 #, fuzzy
 msgid "Style of Paint Bucket fill objects"
 msgstr "Estilo do preenchimento dos objetos da Tela de Pintura"
 
-#: ../src/widgets/toolbox.cpp:1075
+#: ../src/widgets/toolbox.cpp:1265
 msgid "Insert node"
 msgstr "Inserir nó"
 
-#: ../src/widgets/toolbox.cpp:1076
+#: ../src/widgets/toolbox.cpp:1266
 msgid "Insert new nodes into selected segments"
 msgstr "Inserir novos nós nos segmentos selecionados"
 
-#: ../src/widgets/toolbox.cpp:1079
+#: ../src/widgets/toolbox.cpp:1269
 msgid "Insert"
 msgstr "Inserir"
 
-#: ../src/widgets/toolbox.cpp:1087
+#: ../src/widgets/toolbox.cpp:1277
 msgid "Delete selected nodes"
 msgstr "Apagar nós selecionados"
 
-#: ../src/widgets/toolbox.cpp:1097
+#: ../src/widgets/toolbox.cpp:1287
 msgid "Join endnodes"
 msgstr "Unir nós extremos"
 
-#: ../src/widgets/toolbox.cpp:1098
+#: ../src/widgets/toolbox.cpp:1288
 msgid "Join selected endnodes"
 msgstr "Juntar camimhos nos nós selecionados"
 
-#: ../src/widgets/toolbox.cpp:1101
+#: ../src/widgets/toolbox.cpp:1291
 msgid "Join"
 msgstr "Unir"
 
-#: ../src/widgets/toolbox.cpp:1108
+#: ../src/widgets/toolbox.cpp:1298
 #, fuzzy
 msgid "Break nodes"
 msgstr "Mover nós"
 
-#: ../src/widgets/toolbox.cpp:1109
+#: ../src/widgets/toolbox.cpp:1299
 msgid "Break path at selected nodes"
 msgstr "Quebrar caminho nos nós selecionados"
 
-#: ../src/widgets/toolbox.cpp:1119
+#: ../src/widgets/toolbox.cpp:1309
 #, fuzzy
 msgid "Join with segment"
 msgstr "Unir Segmento"
 
-#: ../src/widgets/toolbox.cpp:1120
+#: ../src/widgets/toolbox.cpp:1310
 msgid "Join selected endnodes with a new segment"
 msgstr "Juntar caminhos nos nós selecionados com um novo segmento"
 
-#: ../src/widgets/toolbox.cpp:1130
+#: ../src/widgets/toolbox.cpp:1320
 #, fuzzy
 msgid "Delete segment between two non-endpoint nodes"
 msgstr "Separar caminho entre dois nós que não sejam pontos finais"
 
-#: ../src/widgets/toolbox.cpp:1139
+#: ../src/widgets/toolbox.cpp:1329
 msgid "Node Cusp"
 msgstr "Ponta do nó"
 
-#: ../src/widgets/toolbox.cpp:1140
+#: ../src/widgets/toolbox.cpp:1330
 msgid "Make selected nodes corner"
 msgstr "Tornar dobráveis os nós selecionados"
 
-#: ../src/widgets/toolbox.cpp:1149
+#: ../src/widgets/toolbox.cpp:1339
 msgid "Node Smooth"
 msgstr "Suavização do Nó"
 
-#: ../src/widgets/toolbox.cpp:1150
+#: ../src/widgets/toolbox.cpp:1340
 msgid "Make selected nodes smooth"
 msgstr "Suavizar nós selecionados"
 
-#: ../src/widgets/toolbox.cpp:1159
+#: ../src/widgets/toolbox.cpp:1349
 msgid "Node Symmetric"
 msgstr "Simetria do Nó"
 
-#: ../src/widgets/toolbox.cpp:1160
+#: ../src/widgets/toolbox.cpp:1350
 msgid "Make selected nodes symmetric"
 msgstr "Tornar nós selecionados simétricos"
 
-#: ../src/widgets/toolbox.cpp:1169
+#: ../src/widgets/toolbox.cpp:1359
 msgid "Node Line"
 msgstr "Linha do Nó"
 
-#: ../src/widgets/toolbox.cpp:1170
+#: ../src/widgets/toolbox.cpp:1360
 msgid "Make selected segments lines"
 msgstr "Converter segmentos selecionados em linhas"
 
-#: ../src/widgets/toolbox.cpp:1179
+#: ../src/widgets/toolbox.cpp:1369
 msgid "Node Curve"
 msgstr "Curva do Nó"
 
-#: ../src/widgets/toolbox.cpp:1180
+#: ../src/widgets/toolbox.cpp:1370
 msgid "Make selected segments curves"
 msgstr "Converter segmentos selecionados em curvas"
 
-#: ../src/widgets/toolbox.cpp:1189
+#: ../src/widgets/toolbox.cpp:1379
 msgid "Show Handles"
 msgstr "Exibir Alças"
 
-#: ../src/widgets/toolbox.cpp:1190
+#: ../src/widgets/toolbox.cpp:1380
 msgid "Show the Bezier handles of selected nodes"
 msgstr "Mostrar as alças de Bezier dos nós selecionados"
 
-#: ../src/widgets/toolbox.cpp:1200
+#: ../src/widgets/toolbox.cpp:1390
 #, fuzzy
 msgid "Show Outline"
 msgstr "_Contorno"
 
-#: ../src/widgets/toolbox.cpp:1201
+#: ../src/widgets/toolbox.cpp:1391
 #, fuzzy
 msgid "Show the outline of the path"
 msgstr "Largura do caminho"
 
-#: ../src/widgets/toolbox.cpp:1211
+#: ../src/widgets/toolbox.cpp:1401
 #, fuzzy
 msgid "Next path effect parameter"
 msgstr "Próximo "
 
-#: ../src/widgets/toolbox.cpp:1212
+#: ../src/widgets/toolbox.cpp:1402
 #, fuzzy
 msgid "Show next path effect parameter for editing"
 msgstr "Mostrar próximo parâmetro para edição de Efeito de Caminho"
 
-#: ../src/widgets/toolbox.cpp:1223
+#: ../src/widgets/toolbox.cpp:1413
 #, fuzzy
 msgid "Edit the clipping path of the object"
 msgstr "Remover clip ao caminho da seleção"
 
-#: ../src/widgets/toolbox.cpp:1233
+#: ../src/widgets/toolbox.cpp:1423
 msgid "Edit mask path"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:1234
+#: ../src/widgets/toolbox.cpp:1424
 #, fuzzy
 msgid "Edit the mask of the object"
 msgstr "Editar as paradas do degradê"
 
-#: ../src/widgets/toolbox.cpp:1248
+#: ../src/widgets/toolbox.cpp:1438
 msgid "X coordinate:"
 msgstr "Coordenada X:"
 
-#: ../src/widgets/toolbox.cpp:1248
+#: ../src/widgets/toolbox.cpp:1438
 msgid "X coordinate of selected node(s)"
 msgstr "Coordenada X do(s) nó(s) selecionado(s)"
 
-#: ../src/widgets/toolbox.cpp:1266
+#: ../src/widgets/toolbox.cpp:1456
 msgid "Y coordinate:"
 msgstr "Coordenada Y:"
 
-#: ../src/widgets/toolbox.cpp:1266
+#: ../src/widgets/toolbox.cpp:1456
 msgid "Y coordinate of selected node(s)"
 msgstr "Coordenada Y do(s) nó(s) selecionado(s)"
 
-#: ../src/widgets/toolbox.cpp:1688
+#: ../src/widgets/toolbox.cpp:1900
 msgid "Star: Change number of corners"
 msgstr "Estrela: Alterar número de cantos"
 
-#: ../src/widgets/toolbox.cpp:1730
+#: ../src/widgets/toolbox.cpp:1943
 msgid "Star: Change spoke ratio"
 msgstr "Estrela: Alterar proporção do raio"
 
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1986
 msgid "Make polygon"
 msgstr "Criar polígono"
 
-#: ../src/widgets/toolbox.cpp:1773
+#: ../src/widgets/toolbox.cpp:1986
 msgid "Make star"
 msgstr "Criar estrela"
 
-#: ../src/widgets/toolbox.cpp:1808
+#: ../src/widgets/toolbox.cpp:2022
 msgid "Star: Change rounding"
 msgstr "Alterar arredondamento"
 
-#: ../src/widgets/toolbox.cpp:1842
+#: ../src/widgets/toolbox.cpp:2057
 msgid "Star: Change randomization"
 msgstr "Alterar aleatoriedade"
 
-#: ../src/widgets/toolbox.cpp:2029
+#: ../src/widgets/toolbox.cpp:2248
 msgid "Regular polygon (with one handle) instead of a star"
 msgstr "Polígono regular (com uma alça) ao invés de uma estrela"
 
-#: ../src/widgets/toolbox.cpp:2036
+#: ../src/widgets/toolbox.cpp:2255
 msgid "Star instead of a regular polygon (with one handle)"
 msgstr "Estrela ao invés de um Polígono regular (com uma alça)"
 
-#: ../src/widgets/toolbox.cpp:2057
+#: ../src/widgets/toolbox.cpp:2276
 msgid "triangle/tri-star"
 msgstr "triângulo/tri-estrela"
 
-#: ../src/widgets/toolbox.cpp:2057
+#: ../src/widgets/toolbox.cpp:2276
 msgid "square/quad-star"
 msgstr "quadrado/quad-estrela"
 
-#: ../src/widgets/toolbox.cpp:2057
+#: ../src/widgets/toolbox.cpp:2276
 msgid "pentagon/five-pointed star"
 msgstr "pentágono/estrela de cinco pontas"
 
-#: ../src/widgets/toolbox.cpp:2057
+#: ../src/widgets/toolbox.cpp:2276
 msgid "hexagon/six-pointed star"
 msgstr "hexágono/estrela de seis pontas"
 
-#: ../src/widgets/toolbox.cpp:2060
+#: ../src/widgets/toolbox.cpp:2279
 msgid "Corners"
 msgstr "Esquinas"
 
-#: ../src/widgets/toolbox.cpp:2060
+#: ../src/widgets/toolbox.cpp:2279
 msgid "Corners:"
 msgstr "Cantos:"
 
-#: ../src/widgets/toolbox.cpp:2060
+#: ../src/widgets/toolbox.cpp:2279
 msgid "Number of corners of a polygon or star"
 msgstr "Número de cantos de um polígono ou estrela"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:2292
 msgid "thin-ray star"
 msgstr "estrela raio-fino"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:2292
 msgid "pentagram"
 msgstr "pentagrama"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:2292
 msgid "hexagram"
 msgstr "hexagrama"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:2292
 msgid "heptagram"
 msgstr "heptagrama"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:2292
 msgid "octagram"
 msgstr "octagrama"
 
-#: ../src/widgets/toolbox.cpp:2073
+#: ../src/widgets/toolbox.cpp:2292
 msgid "regular polygon"
 msgstr "polígono regular"
 
-#: ../src/widgets/toolbox.cpp:2076
+#: ../src/widgets/toolbox.cpp:2295
 msgid "Spoke ratio"
 msgstr "Proporção do raio"
 
-#: ../src/widgets/toolbox.cpp:2076
+#: ../src/widgets/toolbox.cpp:2295
 msgid "Spoke ratio:"
 msgstr "Proporção do raio:"
 
 #. 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
+#: ../src/widgets/toolbox.cpp:2298
 msgid "Base radius to tip radius ratio"
 msgstr "Proporção do raio base para o raio externo"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:2316
 msgid "stretched"
 msgstr "esticado"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:2316
 msgid "twisted"
 msgstr "torcido"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:2316
 msgid "slightly pinched"
 msgstr "levemente apertado"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:2316
 msgid "NOT rounded"
 msgstr "Não redondo"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:2316
 msgid "slightly rounded"
 msgstr "Levemente redondo"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:2316
 msgid "visibly rounded"
 msgstr "Visivelmente redondo"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:2316
 msgid "well rounded"
 msgstr "bem arredondado"
 
-#: ../src/widgets/toolbox.cpp:2097
+#: ../src/widgets/toolbox.cpp:2316
 msgid "amply rounded"
 msgstr "amplamente redondo"
 
-#: ../src/widgets/toolbox.cpp:2097 ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:2316 ../src/widgets/toolbox.cpp:2331
 msgid "blown up"
 msgstr "explodido"
 
-#: ../src/widgets/toolbox.cpp:2100
+#: ../src/widgets/toolbox.cpp:2319
 #, fuzzy
 msgid "Rounded"
 msgstr "Arredondado:"
 
-#: ../src/widgets/toolbox.cpp:2100
+#: ../src/widgets/toolbox.cpp:2319
 msgid "Rounded:"
 msgstr "Arredondado:"
 
-#: ../src/widgets/toolbox.cpp:2100
+#: ../src/widgets/toolbox.cpp:2319
 msgid "How much rounded are the corners (0 for sharp)"
 msgstr "Quão redondos são os cantos (0 para agudo)"
 
-#: ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:2331
 msgid "NOT randomized"
 msgstr "NÃO randômico"
 
-#: ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:2331
 msgid "slightly irregular"
 msgstr "levemente irregular"
 
-#: ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:2331
 msgid "visibly randomized"
 msgstr "visivelmente randômico"
 
-#: ../src/widgets/toolbox.cpp:2112
+#: ../src/widgets/toolbox.cpp:2331
 msgid "strongly randomized"
 msgstr "fortemente randômico"
 
-#: ../src/widgets/toolbox.cpp:2115
+#: ../src/widgets/toolbox.cpp:2334
 msgid "Randomized"
 msgstr "Aleatório"
 
-#: ../src/widgets/toolbox.cpp:2115
+#: ../src/widgets/toolbox.cpp:2334
 msgid "Randomized:"
 msgstr "Aleatório:"
 
-#: ../src/widgets/toolbox.cpp:2115
+#: ../src/widgets/toolbox.cpp:2334
 msgid "Scatter randomly the corners and angles"
 msgstr "Difunde aleatoriamente os cantos e ângulos"
 
-#: ../src/widgets/toolbox.cpp:2130 ../src/widgets/toolbox.cpp:3067
-#: ../src/widgets/toolbox.cpp:3847 ../src/widgets/toolbox.cpp:5804
+#: ../src/widgets/toolbox.cpp:2349 ../src/widgets/toolbox.cpp:3290
+#: ../src/widgets/toolbox.cpp:3563 ../src/widgets/toolbox.cpp:6749
 msgid "Defaults"
 msgstr "Padrões"
 
-#: ../src/widgets/toolbox.cpp:2131 ../src/widgets/toolbox.cpp:3068
+#: ../src/widgets/toolbox.cpp:2350 ../src/widgets/toolbox.cpp:3291
 msgid ""
 "Reset shape parameters to defaults (use Inkscape Preferences > Tools to "
 "change defaults)"
@@ -16611,413 +17384,525 @@ msgstr ""
 "Reiniciar parâmetros da forma para padrões (use Configurações do Inkscape > "
 "Ferramentas para alterar os padrões)"
 
-#: ../src/widgets/toolbox.cpp:2203
+#: ../src/widgets/toolbox.cpp:2423
 msgid "Change rectangle"
 msgstr "Alterar retângulo"
 
-#: ../src/widgets/toolbox.cpp:2396
+#: ../src/widgets/toolbox.cpp:2616
 msgid "W:"
 msgstr "W:"
 
-#: ../src/widgets/toolbox.cpp:2396
+#: ../src/widgets/toolbox.cpp:2616
 msgid "Width of rectangle"
 msgstr "Largura do retângulo"
 
-#: ../src/widgets/toolbox.cpp:2413
+#: ../src/widgets/toolbox.cpp:2633
 msgid "H:"
 msgstr "H:"
 
-#: ../src/widgets/toolbox.cpp:2413
+#: ../src/widgets/toolbox.cpp:2633
 msgid "Height of rectangle"
 msgstr "Altura do retângulo"
 
-#: ../src/widgets/toolbox.cpp:2427 ../src/widgets/toolbox.cpp:2442
+#: ../src/widgets/toolbox.cpp:2647 ../src/widgets/toolbox.cpp:2662
 msgid "not rounded"
 msgstr "Não arredondado"
 
-#: ../src/widgets/toolbox.cpp:2430
+#: ../src/widgets/toolbox.cpp:2650
 #, fuzzy
 msgid "Horizontal radius"
 msgstr "Espaçamento Horizontal"
 
-#: ../src/widgets/toolbox.cpp:2430
+#: ../src/widgets/toolbox.cpp:2650
 msgid "Rx:"
 msgstr "Rx:"
 
-#: ../src/widgets/toolbox.cpp:2430
+#: ../src/widgets/toolbox.cpp:2650
 msgid "Horizontal radius of rounded corners"
 msgstr "Raio horizontal de cantos arredondados"
 
-#: ../src/widgets/toolbox.cpp:2445
+#: ../src/widgets/toolbox.cpp:2665
 #, fuzzy
 msgid "Vertical radius"
 msgstr "Espaçamento Vertical"
 
-#: ../src/widgets/toolbox.cpp:2445
+#: ../src/widgets/toolbox.cpp:2665
 msgid "Ry:"
 msgstr "Ry:"
 
-#: ../src/widgets/toolbox.cpp:2445
+#: ../src/widgets/toolbox.cpp:2665
 msgid "Vertical radius of rounded corners"
 msgstr "Raio vertical de cantos arredondados"
 
-#: ../src/widgets/toolbox.cpp:2464
+#: ../src/widgets/toolbox.cpp:2684
 msgid "Not rounded"
 msgstr "Não arredondado"
 
-#: ../src/widgets/toolbox.cpp:2465
+#: ../src/widgets/toolbox.cpp:2685
 msgid "Make corners sharp"
 msgstr "Tornar cantos agudos"
 
 #. TODO: use the correct axis here, too
-#: ../src/widgets/toolbox.cpp:2654
+#: ../src/widgets/toolbox.cpp:2875
 msgid "3D Box: Change perspective (angle of infinite axis)"
 msgstr "Caixa 3D: Alterar perspectiva (ângulo do eixo infinito)"
 
-#: ../src/widgets/toolbox.cpp:2723
+#: ../src/widgets/toolbox.cpp:2945
 msgid "Angle in X direction"
 msgstr "Ângulo na direção X"
 
 #. Translators: PL is short for 'perspective line'
-#: ../src/widgets/toolbox.cpp:2725
+#: ../src/widgets/toolbox.cpp:2947
 msgid "Angle of PLs in X direction"
 msgstr "Ângulo das Linhas de Perspectiva na direção X"
 
 #. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/toolbox.cpp:2747
+#: ../src/widgets/toolbox.cpp:2969
 msgid "State of VP in X direction"
 msgstr "Definir Ponto de Fulga na direção X"
 
-#: ../src/widgets/toolbox.cpp:2748
+#: ../src/widgets/toolbox.cpp:2970
 msgid "Toggle VP in X direction between 'finite' and 'infinite' (=parallel)"
 msgstr ""
 "Alternar Ponto de Fulga para direção X entre 'finito' e "
 "'infinito' (=paralelo)"
 
-#: ../src/widgets/toolbox.cpp:2763
+#: ../src/widgets/toolbox.cpp:2985
 msgid "Angle in Y direction"
 msgstr "Ângulo na direção Y"
 
-#: ../src/widgets/toolbox.cpp:2763
+#: ../src/widgets/toolbox.cpp:2985
 msgid "Angle Y:"
 msgstr "Ângulo Y:"
 
 #. Translators: PL is short for 'perspective line'
-#: ../src/widgets/toolbox.cpp:2765
+#: ../src/widgets/toolbox.cpp:2987
 msgid "Angle of PLs in Y direction"
 msgstr "Ângulo das Linhas de Perspectiva na direção Y"
 
 #. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/toolbox.cpp:2786
+#: ../src/widgets/toolbox.cpp:3008
 msgid "State of VP in Y direction"
 msgstr "Definir Ponto de Fulga na direção Y"
 
-#: ../src/widgets/toolbox.cpp:2787
+#: ../src/widgets/toolbox.cpp:3009
 msgid "Toggle VP in Y direction between 'finite' and 'infinite' (=parallel)"
 msgstr ""
 "Alternar Ponto de Fulga para direção Y entre 'finito' e "
 "'infinito' (=paralelo)"
 
-#: ../src/widgets/toolbox.cpp:2802
+#: ../src/widgets/toolbox.cpp:3024
 msgid "Angle in Z direction"
 msgstr "Ângulo na direção Z"
 
 #. Translators: PL is short for 'perspective line'
-#: ../src/widgets/toolbox.cpp:2804
+#: ../src/widgets/toolbox.cpp:3026
 msgid "Angle of PLs in Z direction"
 msgstr "Ângulo das Linhas de Perspectiva na direção Z"
 
 #. Translators: VP is short for 'vanishing point'
-#: ../src/widgets/toolbox.cpp:2825
+#: ../src/widgets/toolbox.cpp:3047
 msgid "State of VP in Z direction"
 msgstr "Definir Ponto de Fulga na direção Z"
 
-#: ../src/widgets/toolbox.cpp:2826
+#: ../src/widgets/toolbox.cpp:3048
 msgid "Toggle VP in Z direction between 'finite' and 'infinite' (=parallel)"
 msgstr ""
 "Alternar Ponto de Fulga para direção Z entre 'finito' e "
 "'infinito' (=paralelo)"
 
-#: ../src/widgets/toolbox.cpp:2883
+#: ../src/widgets/toolbox.cpp:3106
 msgid "Change spiral"
 msgstr "Alterar espiral"
 
-#: ../src/widgets/toolbox.cpp:3024
+#: ../src/widgets/toolbox.cpp:3247
 msgid "just a curve"
 msgstr "apenas uma curva"
 
-#: ../src/widgets/toolbox.cpp:3024
+#: ../src/widgets/toolbox.cpp:3247
 msgid "one full revolution"
 msgstr "uma revolução completa"
 
-#: ../src/widgets/toolbox.cpp:3027
+#: ../src/widgets/toolbox.cpp:3250
 #, fuzzy
 msgid "Number of turns"
 msgstr "Número de linhas"
 
-#: ../src/widgets/toolbox.cpp:3027
+#: ../src/widgets/toolbox.cpp:3250
 msgid "Turns:"
 msgstr "Rotação:"
 
-#: ../src/widgets/toolbox.cpp:3027
+#: ../src/widgets/toolbox.cpp:3250
 msgid "Number of revolutions"
 msgstr "Número de revoluções"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:3261
 msgid "circle"
 msgstr "círculo"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:3261
 msgid "edge is much denser"
 msgstr "limite é muito mais denso"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:3261
 msgid "edge is denser"
 msgstr "limite é mais denso"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:3261
 msgid "even"
 msgstr "mesmo"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:3261
 msgid "center is denser"
 msgstr "centro é mais denso"
 
-#: ../src/widgets/toolbox.cpp:3038
+#: ../src/widgets/toolbox.cpp:3261
 msgid "center is much denser"
 msgstr "centro é muito mais denso"
 
-#: ../src/widgets/toolbox.cpp:3041
+#: ../src/widgets/toolbox.cpp:3264
 #, fuzzy
 msgid "Divergence"
 msgstr "Divergência:"
 
-#: ../src/widgets/toolbox.cpp:3041
+#: ../src/widgets/toolbox.cpp:3264
 msgid "Divergence:"
 msgstr "Divergência:"
 
-#: ../src/widgets/toolbox.cpp:3041
+#: ../src/widgets/toolbox.cpp:3264
 msgid "How much denser/sparser are outer revolutions; 1 = uniform"
 msgstr "Quão densas/esparsas são revoluções externas; 1 = uniforme"
 
-#: ../src/widgets/toolbox.cpp:3052
+#: ../src/widgets/toolbox.cpp:3275
 msgid "starts from center"
 msgstr "começar do centro"
 
-#: ../src/widgets/toolbox.cpp:3052
+#: ../src/widgets/toolbox.cpp:3275
 msgid "starts mid-way"
 msgstr "começa no meio do caminho"
 
-#: ../src/widgets/toolbox.cpp:3052
+#: ../src/widgets/toolbox.cpp:3275
 msgid "starts near edge"
 msgstr "começa perto do limite"
 
-#: ../src/widgets/toolbox.cpp:3055
+#: ../src/widgets/toolbox.cpp:3278
 #, fuzzy
 msgid "Inner radius"
 msgstr "Raio interno:"
 
-#: ../src/widgets/toolbox.cpp:3055
+#: ../src/widgets/toolbox.cpp:3278
 msgid "Inner radius:"
 msgstr "Raio interno:"
 
-#: ../src/widgets/toolbox.cpp:3055
+#: ../src/widgets/toolbox.cpp:3278
 msgid "Radius of the innermost revolution (relative to the spiral size)"
 msgstr "Raio da revolução mais interna (relativo ao tamanho da espiral)"
 
-#: ../src/widgets/toolbox.cpp:3101
+#: ../src/widgets/toolbox.cpp:3351
+msgid "Bezier"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:3352
+#, fuzzy
+msgid "Create regular Bezier path"
+msgstr "Criando novo caminho"
+
+#: ../src/widgets/toolbox.cpp:3358
+#, fuzzy
+msgid "Spiro"
+msgstr "Espiral"
+
+#: ../src/widgets/toolbox.cpp:3359
+#, fuzzy
+msgid "Create Spiro path"
+msgstr "Criar espirais"
+
+#: ../src/widgets/toolbox.cpp:3366
+msgid "Zigzag"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:3367
+msgid "Create a sequence of straight line segments"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:3373
+#, fuzzy
+msgid "Paraxial"
+msgstr "parcial"
+
+#: ../src/widgets/toolbox.cpp:3374
+msgid "Create a sequence of paraxial line segments"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:3382 ../src/widgets/toolbox.cpp:3778
+#: ../share/extensions/extrude.inx.h:3
+msgid "Mode:"
+msgstr "Modo:"
+
+#: ../src/widgets/toolbox.cpp:3411
+#, fuzzy
+msgid "Triangle in"
+msgstr "Único"
+
+#: ../src/widgets/toolbox.cpp:3412
+#, fuzzy
+msgid "Triangle out"
+msgstr "Único"
+
+#: ../src/widgets/toolbox.cpp:3414
+msgid "From clipboard"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:3439 ../src/widgets/toolbox.cpp:3440
 #, fuzzy
-msgid "<b>Mode:</b>"
-msgstr "<b>Borda</b>"
+msgid "Shape:"
+msgstr "Formas"
 
-#: ../src/widgets/toolbox.cpp:3121
-msgid "Bézier"
+#: ../src/widgets/toolbox.cpp:3534
+msgid "(many nodes, rough)"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3122
-msgid "Regular Bézier mode"
-msgstr ""
+#: ../src/widgets/toolbox.cpp:3534 ../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
+msgid "(default)"
+msgstr "(padrão)"
 
-#: ../src/widgets/toolbox.cpp:3128
+#: ../src/widgets/toolbox.cpp:3534
 #, fuzzy
-msgid "Spiro"
-msgstr "Espiral"
+msgid "(few nodes, smooth)"
+msgstr "Suavizar nós selecionados"
 
-#: ../src/widgets/toolbox.cpp:3129
+#: ../src/widgets/toolbox.cpp:3537
 #, fuzzy
-msgid "Spiro splines mode"
-msgstr "Modo encolher"
+msgid "Smoothing:"
+msgstr "Suavizar"
+
+#: ../src/widgets/toolbox.cpp:3537
+#, fuzzy
+msgid "Smoothing: "
+msgstr "Suavizar"
+
+#: ../src/widgets/toolbox.cpp:3538
+msgid "How much smoothing (simplifying) is applied to the line"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:3564
+#, fuzzy
+msgid ""
+"Reset pencil parameters to defaults (use Inkscape Preferences > Tools to "
+"change defaults)"
+msgstr ""
+"Reiniciar parâmetros da forma para padrões (use Configurações do Inkscape > "
+"Ferramentas para alterar os padrões)"
 
 #. Width
-#: ../src/widgets/toolbox.cpp:3238
+#: ../src/widgets/toolbox.cpp:3657
 #, fuzzy
 msgid "(pinch tweak)"
 msgstr "(apertar)"
 
-#: ../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 "(padrão)"
-
-#: ../src/widgets/toolbox.cpp:3238
+#: ../src/widgets/toolbox.cpp:3657
 #, fuzzy
 msgid "(broad tweak)"
 msgstr "(traço)"
 
-#: ../src/widgets/toolbox.cpp:3241
+#: ../src/widgets/toolbox.cpp:3660
 msgid "The width of the tweak area (relative to the visible canvas area)"
 msgstr "A largura da área de ação (em relação a área visível da página)"
 
 #. Force
-#: ../src/widgets/toolbox.cpp:3254
+#: ../src/widgets/toolbox.cpp:3674
 msgid "(minimum force)"
 msgstr "(força mínima)"
 
-#: ../src/widgets/toolbox.cpp:3254
+#: ../src/widgets/toolbox.cpp:3674
 msgid "(maximum force)"
 msgstr "(força máxima)"
 
-#: ../src/widgets/toolbox.cpp:3257
+#: ../src/widgets/toolbox.cpp:3677
 msgid "Force"
 msgstr "Força"
 
-#: ../src/widgets/toolbox.cpp:3257
+#: ../src/widgets/toolbox.cpp:3677
 msgid "Force:"
 msgstr "Força:"
 
-#: ../src/widgets/toolbox.cpp:3257
+#: ../src/widgets/toolbox.cpp:3677
 msgid "The force of the tweak action"
 msgstr "Força da ação"
 
-#: ../src/widgets/toolbox.cpp:3274
+#: ../src/widgets/toolbox.cpp:3695
+#, fuzzy
+msgid "Move mode"
+msgstr "Mover nós"
+
+#: ../src/widgets/toolbox.cpp:3696
+#, fuzzy
+msgid "Move objects in any direction"
+msgstr "Ângulo na direção X"
+
+#: ../src/widgets/toolbox.cpp:3702
+#, fuzzy
+msgid "Move in/out mode"
+msgstr "Mover nós"
+
+#: ../src/widgets/toolbox.cpp:3703
+msgid "Move objects towards cursor; with Shift from cursor"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:3709
+#, fuzzy
+msgid "Move jitter mode"
+msgstr "Aguçar nós"
+
+#: ../src/widgets/toolbox.cpp:3710
+#, fuzzy
+msgid "Move objects in random directions"
+msgstr "Definir Ponto de Fulga na direção X"
+
+#: ../src/widgets/toolbox.cpp:3716
+#, fuzzy
+msgid "Scale mode"
+msgstr "Escalar nós"
+
+#: ../src/widgets/toolbox.cpp:3717
+#, fuzzy
+msgid "Scale objects, with Shift scale up"
+msgstr "Ajustar título do objeto"
+
+#: ../src/widgets/toolbox.cpp:3723
+#, fuzzy
+msgid "Rotate mode"
+msgstr "Girar nós"
+
+#: ../src/widgets/toolbox.cpp:3724
+#, fuzzy
+msgid "Rotate objects, with Shift counterclockwise"
+msgstr "Girar a seleção 90° graus sentido anti-horário"
+
+#: ../src/widgets/toolbox.cpp:3730
+#, fuzzy
+msgid "Duplicate/delete mode"
+msgstr "Duplicar nó"
+
+#: ../src/widgets/toolbox.cpp:3731
+msgid "Duplicate objects, with Shift delete"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:3737
 msgid "Push mode"
 msgstr "Modo empurrar"
 
-#: ../src/widgets/toolbox.cpp:3275
+#: ../src/widgets/toolbox.cpp:3738
 msgid "Push parts of paths in any direction"
 msgstr "Empurrar regiões de caminhos em qualquer direção"
 
-#: ../src/widgets/toolbox.cpp:3281
-msgid "Shrink mode"
+#: ../src/widgets/toolbox.cpp:3744
+#, fuzzy
+msgid "Shrink/grow mode"
 msgstr "Modo encolher"
 
-#: ../src/widgets/toolbox.cpp:3282
-msgid "Shrink (inset) parts of paths"
+#: ../src/widgets/toolbox.cpp:3745
+#, fuzzy
+msgid "Shrink (inset) parts of paths; with Shift grow (outset)"
 msgstr "Encolher (reduzir) regiões de caminhos"
 
-#: ../src/widgets/toolbox.cpp:3288
-msgid "Grow mode"
-msgstr "Modo expandir"
-
-#: ../src/widgets/toolbox.cpp:3289
-msgid "Grow (outset) parts of paths"
-msgstr "Expandir (inflar) regiões de caminhos"
-
-#: ../src/widgets/toolbox.cpp:3295
-msgid "Attract mode"
+#: ../src/widgets/toolbox.cpp:3751
+#, fuzzy
+msgid "Attract/repel mode"
 msgstr "Modo atrair"
 
-#: ../src/widgets/toolbox.cpp:3296
-msgid "Attract parts of paths towards cursor"
+#: ../src/widgets/toolbox.cpp:3752
+#, fuzzy
+msgid "Attract parts of paths towards cursor; with Shift from cursor"
 msgstr "Atrair caminhos para o centro do cursor"
 
-#: ../src/widgets/toolbox.cpp:3302
-msgid "Repel mode"
-msgstr "Modo repelir"
-
-#: ../src/widgets/toolbox.cpp:3303
-msgid "Repel parts of paths from cursor"
-msgstr "Repelir caminhos sob o centro do cursor"
-
-#: ../src/widgets/toolbox.cpp:3309
+#: ../src/widgets/toolbox.cpp:3758
 msgid "Roughen mode"
 msgstr "Modo áspero"
 
-#: ../src/widgets/toolbox.cpp:3310
+#: ../src/widgets/toolbox.cpp:3759
 msgid "Roughen parts of paths"
 msgstr "Tornar regiões de caminhos ásperas"
 
-#: ../src/widgets/toolbox.cpp:3316
+#: ../src/widgets/toolbox.cpp:3765
 msgid "Color paint mode"
 msgstr "Modo cor da tinta"
 
-#: ../src/widgets/toolbox.cpp:3317
+#: ../src/widgets/toolbox.cpp:3766
 msgid "Paint the tool's color upon selected objects"
 msgstr "Pintar a ferramenta de cor sobre os objetos selecionados"
 
-#: ../src/widgets/toolbox.cpp:3323
+#: ../src/widgets/toolbox.cpp:3772
 #, fuzzy
 msgid "Color jitter mode"
 msgstr "Aguçar nós"
 
-#: ../src/widgets/toolbox.cpp:3324
+#: ../src/widgets/toolbox.cpp:3773
 #, fuzzy
 msgid "Jitter the colors of selected objects"
 msgstr "Fazer com que os conectores evitem os objetos selecionados"
 
-#: ../src/widgets/toolbox.cpp:3329
-msgid "Mode:"
-msgstr "Modo:"
-
-#: ../src/widgets/toolbox.cpp:3350
+#: ../src/widgets/toolbox.cpp:3799
 msgid "Channels:"
 msgstr "Canais:"
 
-#: ../src/widgets/toolbox.cpp:3361
+#: ../src/widgets/toolbox.cpp:3810
 msgid "In color mode, act on objects' hue"
 msgstr "Em modo de cor, agir na matiz do objeto"
 
 #. TRANSLATORS:  "H" here stands for hue
-#: ../src/widgets/toolbox.cpp:3365
+#: ../src/widgets/toolbox.cpp:3814
 msgid "H"
 msgstr "H"
 
-#: ../src/widgets/toolbox.cpp:3376
+#: ../src/widgets/toolbox.cpp:3825
 msgid "In color mode, act on objects' saturation"
 msgstr "Em modo de cor, agir na saturação do objeto"
 
 #. TRANSLATORS: "S" here stands for Saturation
-#: ../src/widgets/toolbox.cpp:3380
+#: ../src/widgets/toolbox.cpp:3829
 msgid "S"
 msgstr "S"
 
-#: ../src/widgets/toolbox.cpp:3391
+#: ../src/widgets/toolbox.cpp:3840
 msgid "In color mode, act on objects' lightness"
 msgstr "Em modo de cor, agir na clareza do objeto"
 
 #. TRANSLATORS: "L" here stands for Lightness
-#: ../src/widgets/toolbox.cpp:3395
+#: ../src/widgets/toolbox.cpp:3844
 msgid "L"
 msgstr "L"
 
-#: ../src/widgets/toolbox.cpp:3406
+#: ../src/widgets/toolbox.cpp:3855
 msgid "In color mode, act on objects' opacity"
 msgstr "Em modo de cor, agir na opacidade do objeto"
 
 #. TRANSLATORS: "O" here stands for Opacity
-#: ../src/widgets/toolbox.cpp:3410
+#: ../src/widgets/toolbox.cpp:3859
 msgid "O"
 msgstr "O"
 
 #. Fidelity
-#: ../src/widgets/toolbox.cpp:3420
+#: ../src/widgets/toolbox.cpp:3869
 msgid "(rough, simplified)"
 msgstr "(áspero, simplificado)"
 
-#: ../src/widgets/toolbox.cpp:3420
+#: ../src/widgets/toolbox.cpp:3869
 msgid "(fine, but many nodes)"
 msgstr "(razoável, mas muitos nós)"
 
-#: ../src/widgets/toolbox.cpp:3423
+#: ../src/widgets/toolbox.cpp:3872
 msgid "Fidelity"
 msgstr "Fidelidade"
 
-#: ../src/widgets/toolbox.cpp:3423
+#: ../src/widgets/toolbox.cpp:3872
 msgid "Fidelity:"
 msgstr "Fidelidade:"
 
-#: ../src/widgets/toolbox.cpp:3424
+#: ../src/widgets/toolbox.cpp:3873
 msgid ""
 "Low fidelity simplifies paths; high fidelity preserves path features but may "
 "generate a lot of new nodes"
@@ -17025,66 +17910,76 @@ msgstr ""
 "Baixa fidelidade simplifica os caminhos; alta fidelidade preserva as formas "
 "do caminho, mas pode gerar um grande número de nós"
 
-#: ../src/widgets/toolbox.cpp:3441 ../src/widgets/toolbox.cpp:3789
+#: ../src/widgets/toolbox.cpp:3890 ../src/widgets/toolbox.cpp:4399
 msgid "Pressure"
 msgstr "Pressão"
 
-#: ../src/widgets/toolbox.cpp:3442
+#: ../src/widgets/toolbox.cpp:3891
 #, fuzzy
 msgid "Use the pressure of the input device to alter the force of tweak action"
 msgstr ""
 "Usar a pressão do dispositivo de entrada para alterar a largura da caneta"
 
+#: ../src/widgets/toolbox.cpp:4074
+#, fuzzy
+msgid "No preset"
+msgstr "Sem pré-visualização"
+
+#: ../src/widgets/toolbox.cpp:4093
+#, fuzzy
+msgid "Save..."
+msgstr "Salvar _Como..."
+
 #. Width
-#: ../src/widgets/toolbox.cpp:3642 ../src/widgets/toolbox.cpp:4315
+#: ../src/widgets/toolbox.cpp:4248 ../src/widgets/toolbox.cpp:5260
 msgid "(hairline)"
 msgstr "(linha do cabelo)"
 
-#: ../src/widgets/toolbox.cpp:3642 ../src/widgets/toolbox.cpp:4315
+#: ../src/widgets/toolbox.cpp:4248 ../src/widgets/toolbox.cpp:5260
 #, fuzzy
 msgid "(broad stroke)"
 msgstr " (traço)"
 
-#: ../src/widgets/toolbox.cpp:3645 ../src/widgets/toolbox.cpp:4318
+#: ../src/widgets/toolbox.cpp:4251 ../src/widgets/toolbox.cpp:5263
 #, fuzzy
 msgid "Pen Width"
 msgstr "_Largura da Página"
 
-#: ../src/widgets/toolbox.cpp:3646
+#: ../src/widgets/toolbox.cpp:4252
 msgid "The width of the calligraphic pen (relative to the visible canvas area)"
 msgstr "A largura da caneta caligráfica (em relação a área visível da página)"
 
 #. Thinning
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:4265
 msgid "(speed blows up stroke)"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:4265
 msgid "(slight widening)"
 msgstr "(leve expansão)"
 
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:4265
 msgid "(constant width)"
 msgstr "(comprimento constante)"
 
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:4265
 msgid "(slight thinning, default)"
 msgstr "(Leve diminuição, padrão)"
 
-#: ../src/widgets/toolbox.cpp:3658
+#: ../src/widgets/toolbox.cpp:4265
 msgid "(speed deflates stroke)"
 msgstr "(velocidade de redução do traço)"
 
-#: ../src/widgets/toolbox.cpp:3661
+#: ../src/widgets/toolbox.cpp:4268
 #, fuzzy
 msgid "Stroke Thinning"
 msgstr "Pintura de Traço"
 
-#: ../src/widgets/toolbox.cpp:3661
+#: ../src/widgets/toolbox.cpp:4268
 msgid "Thinning:"
 msgstr "Sinuoso"
 
-#: ../src/widgets/toolbox.cpp:3662
+#: ../src/widgets/toolbox.cpp:4269
 msgid ""
 "How much velocity thins the stroke (> 0 makes fast strokes thinner, < 0 "
 "makes them broader, 0 makes width independent of velocity)"
@@ -17093,30 +17988,30 @@ msgstr ""
 "finos, < 0 torna-os mais fortes, 0 os torna independente da velocidade)"
 
 #. Angle
-#: ../src/widgets/toolbox.cpp:3674
+#: ../src/widgets/toolbox.cpp:4281
 #, fuzzy
 msgid "(left edge up)"
 msgstr "(elevar borda esquerda)"
 
-#: ../src/widgets/toolbox.cpp:3674
+#: ../src/widgets/toolbox.cpp:4281
 msgid "(horizontal)"
 msgstr "(horizontal)"
 
-#: ../src/widgets/toolbox.cpp:3674
+#: ../src/widgets/toolbox.cpp:4281
 #, fuzzy
 msgid "(right edge up)"
 msgstr "(elevar borda direita)"
 
-#: ../src/widgets/toolbox.cpp:3677
+#: ../src/widgets/toolbox.cpp:4284
 #, fuzzy
 msgid "Pen Angle"
 msgstr "Ângulo de Cone"
 
-#: ../src/widgets/toolbox.cpp:3677
+#: ../src/widgets/toolbox.cpp:4284
 msgid "Angle:"
 msgstr "Ângulo:"
 
-#: ../src/widgets/toolbox.cpp:3678
+#: ../src/widgets/toolbox.cpp:4285
 msgid ""
 "The angle of the pen's nib (in degrees; 0 = horizontal; has no effect if "
 "fixation = 0)"
@@ -17125,63 +18020,64 @@ msgstr ""
 "fixar = 0)"
 
 #. Fixation
-#: ../src/widgets/toolbox.cpp:3692
+#: ../src/widgets/toolbox.cpp:4299
 msgid "(perpendicular to stroke, \"brush\")"
 msgstr "(perpendicular ao traço, \"escova\")"
 
-#: ../src/widgets/toolbox.cpp:3692
+#: ../src/widgets/toolbox.cpp:4299
 #, fuzzy
 msgid "(almost fixed, default)"
 msgstr "(pouco fixo, padrão)"
 
-#: ../src/widgets/toolbox.cpp:3692
+#: ../src/widgets/toolbox.cpp:4299
 msgid "(fixed by Angle, \"pen\")"
 msgstr "(determinado pelo ângulo, \"caneta\")"
 
-#: ../src/widgets/toolbox.cpp:3695
+#: ../src/widgets/toolbox.cpp:4302
 msgid "Fixation"
 msgstr "Fixação"
 
-#: ../src/widgets/toolbox.cpp:3695
+#: ../src/widgets/toolbox.cpp:4302
 msgid "Fixation:"
 msgstr "Fixação:"
 
-#: ../src/widgets/toolbox.cpp:3696
+#: ../src/widgets/toolbox.cpp:4303
+#, fuzzy
 msgid ""
-"Angle behavior (0 = nib always perpendicular to stroke direction, 1 = fixed "
-"angle)"
+"Angle behavior (0 = nib always perpendicular to stroke direction, 100 = "
+"fixed angle)"
 msgstr ""
 "Comportamento do ângulo (0 = sempre perpendicular à direção do traço, 1 = "
 "fixo)"
 
 #. Cap Rounding
-#: ../src/widgets/toolbox.cpp:3708
+#: ../src/widgets/toolbox.cpp:4315
 #, fuzzy
 msgid "(blunt caps, default)"
 msgstr "Ajustar como padrão"
 
-#: ../src/widgets/toolbox.cpp:3708
+#: ../src/widgets/toolbox.cpp:4315
 msgid "(slightly bulging)"
 msgstr "(levemente saliente)"
 
-#: ../src/widgets/toolbox.cpp:3708
+#: ../src/widgets/toolbox.cpp:4315
 msgid "(approximately round)"
 msgstr "(aproximadamente redondo)"
 
-#: ../src/widgets/toolbox.cpp:3708
+#: ../src/widgets/toolbox.cpp:4315
 msgid "(long protruding caps)"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3712
+#: ../src/widgets/toolbox.cpp:4319
 #, fuzzy
 msgid "Cap rounding"
 msgstr "Alterar arredondamento"
 
-#: ../src/widgets/toolbox.cpp:3712
+#: ../src/widgets/toolbox.cpp:4319
 msgid "Caps:"
 msgstr "Pontas:"
 
-#: ../src/widgets/toolbox.cpp:3713
+#: ../src/widgets/toolbox.cpp:4320
 msgid ""
 "Increase to make caps at the ends of strokes protrude more (0 = no caps, 1 = "
 "round caps)"
@@ -17190,97 +18086,97 @@ msgstr ""
 "ponta redonda)"
 
 #. Tremor
-#: ../src/widgets/toolbox.cpp:3725
+#: ../src/widgets/toolbox.cpp:4332
 msgid "(smooth line)"
 msgstr "(linha suave)"
 
-#: ../src/widgets/toolbox.cpp:3725
+#: ../src/widgets/toolbox.cpp:4332
 msgid "(slight tremor)"
 msgstr "(tremor leve)"
 
-#: ../src/widgets/toolbox.cpp:3725
+#: ../src/widgets/toolbox.cpp:4332
 msgid "(noticeable tremor)"
 msgstr "(tremor perceptível)"
 
-#: ../src/widgets/toolbox.cpp:3725
+#: ../src/widgets/toolbox.cpp:4332
 msgid "(maximum tremor)"
 msgstr "(tremor máximo)"
 
-#: ../src/widgets/toolbox.cpp:3728
+#: ../src/widgets/toolbox.cpp:4335
 #, fuzzy
 msgid "Stroke Tremor"
 msgstr "Definir cor do traço"
 
-#: ../src/widgets/toolbox.cpp:3728
+#: ../src/widgets/toolbox.cpp:4335
 msgid "Tremor:"
 msgstr "Tremor:"
 
-#: ../src/widgets/toolbox.cpp:3729
+#: ../src/widgets/toolbox.cpp:4336
 msgid "Increase to make strokes rugged and trembling"
 msgstr "Aumente para fazer traços ásperos e trêmulos"
 
 #. Wiggle
-#: ../src/widgets/toolbox.cpp:3742
+#: ../src/widgets/toolbox.cpp:4350
 msgid "(no wiggle)"
 msgstr "(sem sinuosidade)"
 
-#: ../src/widgets/toolbox.cpp:3742
+#: ../src/widgets/toolbox.cpp:4350
 #, fuzzy
 msgid "(slight deviation)"
 msgstr "Destino da impressão"
 
-#: ../src/widgets/toolbox.cpp:3742
+#: ../src/widgets/toolbox.cpp:4350
 #, fuzzy
 msgid "(wild waves and curls)"
 msgstr "(ondas agressivas e suaves)"
 
-#: ../src/widgets/toolbox.cpp:3745
+#: ../src/widgets/toolbox.cpp:4353
 msgid "Pen Wiggle"
 msgstr "Ondulação:"
 
-#: ../src/widgets/toolbox.cpp:3745
+#: ../src/widgets/toolbox.cpp:4353
 msgid "Wiggle:"
 msgstr "Ondulação:"
 
-#: ../src/widgets/toolbox.cpp:3746
+#: ../src/widgets/toolbox.cpp:4354
 msgid "Increase to make the pen waver and wiggle"
 msgstr "Aumente para fazer traços ondulados e sinuosos"
 
 #. Mass
-#: ../src/widgets/toolbox.cpp:3758
+#: ../src/widgets/toolbox.cpp:4367
 msgid "(no inertia)"
 msgstr "(sem inércia)"
 
-#: ../src/widgets/toolbox.cpp:3758
+#: ../src/widgets/toolbox.cpp:4367
 msgid "(slight smoothing, default)"
 msgstr "(suavização rápida, padrão)"
 
-#: ../src/widgets/toolbox.cpp:3758
+#: ../src/widgets/toolbox.cpp:4367
 msgid "(noticeable lagging)"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:3758
+#: ../src/widgets/toolbox.cpp:4367
 msgid "(maximum inertia)"
 msgstr "(inércia máxima)"
 
-#: ../src/widgets/toolbox.cpp:3761
+#: ../src/widgets/toolbox.cpp:4370
 msgid "Pen Mass"
 msgstr "Massa da caneta"
 
-#: ../src/widgets/toolbox.cpp:3761
+#: ../src/widgets/toolbox.cpp:4370
 msgid "Mass:"
 msgstr "Massa:"
 
-#: ../src/widgets/toolbox.cpp:3762
+#: ../src/widgets/toolbox.cpp:4371
 msgid "Increase to make the pen drag behind, as if slowed by inertia"
 msgstr ""
 "Aumente para tornar a caneta mais pesada, como se atrasada pela inércia"
 
-#: ../src/widgets/toolbox.cpp:3776
+#: ../src/widgets/toolbox.cpp:4386
 msgid "Trace Background"
 msgstr "Plano de fundo"
 
-#: ../src/widgets/toolbox.cpp:3777
+#: ../src/widgets/toolbox.cpp:4387
 msgid ""
 "Trace the lightness of the background by the width of the pen (white - "
 "minimum width, black - maximum width)"
@@ -17288,103 +18184,85 @@ msgstr ""
 "Traçar a luminosidade do Plano de Fundo em  função da largura da caneta "
 "(Branco - largura minima, Preto - Largura máxima)"
 
-#: ../src/widgets/toolbox.cpp:3790
+#: ../src/widgets/toolbox.cpp:4400
 msgid "Use the pressure of the input device to alter the width of the pen"
 msgstr ""
 "Usar a pressão do dispositivo de entrada para alterar a largura da caneta"
 
-#: ../src/widgets/toolbox.cpp:3802
+#: ../src/widgets/toolbox.cpp:4412
 msgid "Tilt"
 msgstr "Tilt"
 
-#: ../src/widgets/toolbox.cpp:3803
+#: ../src/widgets/toolbox.cpp:4413
 msgid "Use the tilt of the input device to alter the angle of the pen's nib"
 msgstr ""
 "Usar a inclunação do dispositivo de entrada para alterar o ângulo da ponta "
 "da caneta."
 
-#: ../src/widgets/toolbox.cpp:3821
+#: ../src/widgets/toolbox.cpp:4426
 #, fuzzy
-msgid "No preset"
+msgid "Choose a preset"
 msgstr "Sem pré-visualização"
 
-#: ../src/widgets/toolbox.cpp:3836
-#, fuzzy
-msgid "Change calligraphic profile"
-msgstr "Desenhar linhas caligráficas"
-
-#: ../src/widgets/toolbox.cpp:3848
-#, fuzzy
-msgid "Save current settings as new profile"
-msgstr "Salvar documento com outro nome"
-
-#: ../src/widgets/toolbox.cpp:3933
+#: ../src/widgets/toolbox.cpp:4514
 msgid "Arc: Change start/end"
 msgstr "Arc: Mudanças inicio/fim"
 
-#: ../src/widgets/toolbox.cpp:4022
+#: ../src/widgets/toolbox.cpp:4578
 msgid "Arc: Change open/closed"
 msgstr "Arc: Mudanças abrir/fechar"
 
-#: ../src/widgets/toolbox.cpp:4146
-msgid "Start"
-msgstr "Início"
-
-#: ../src/widgets/toolbox.cpp:4146
+#: ../src/widgets/toolbox.cpp:4704
 msgid "Start:"
 msgstr "Início:"
 
-#: ../src/widgets/toolbox.cpp:4147
+#: ../src/widgets/toolbox.cpp:4705
 msgid "The angle (in degrees) from the horizontal to the arc's start point"
 msgstr "O ângulo (em graus) do do horizontal para o ponto inicial do arco."
 
-#: ../src/widgets/toolbox.cpp:4159
-msgid "End"
-msgstr "Fim"
-
-#: ../src/widgets/toolbox.cpp:4159
+#: ../src/widgets/toolbox.cpp:4717
 msgid "End:"
 msgstr "Fim:"
 
-#: ../src/widgets/toolbox.cpp:4160
+#: ../src/widgets/toolbox.cpp:4718
 msgid "The angle (in degrees) from the horizontal to the arc's end point"
 msgstr "O ângulo (em graus) do do horizontal para o ponto final do arco."
 
-#: ../src/widgets/toolbox.cpp:4176
+#: ../src/widgets/toolbox.cpp:4734
 msgid "Closed arc"
 msgstr "Arco fechado"
 
-#: ../src/widgets/toolbox.cpp:4177
+#: ../src/widgets/toolbox.cpp:4735
 msgid "Switch to segment (closed shape with two radii)"
 msgstr "Alternar para segmento (forma fechada com dois raios)"
 
-#: ../src/widgets/toolbox.cpp:4183
+#: ../src/widgets/toolbox.cpp:4741
 msgid "Open Arc"
 msgstr "Arco Aberto"
 
-#: ../src/widgets/toolbox.cpp:4184
+#: ../src/widgets/toolbox.cpp:4742
 msgid "Switch to arc (unclosed shape)"
 msgstr "Alternar para arco (Forma não fechada)"
 
-#: ../src/widgets/toolbox.cpp:4208
+#: ../src/widgets/toolbox.cpp:4765
 msgid "Make whole"
 msgstr "Tornar inteiro"
 
-#: ../src/widgets/toolbox.cpp:4209
+#: ../src/widgets/toolbox.cpp:4766
 msgid "Make the shape a whole ellipse, not arc or segment"
 msgstr "Tornar a forma uma elipse inteira e não um arco ou segmento"
 
-#: ../src/widgets/toolbox.cpp:4275
+#: ../src/widgets/toolbox.cpp:4835
 #, fuzzy
 msgid "Opacity:"
 msgstr "Opacidade"
 
-#: ../src/widgets/toolbox.cpp:4282
+#: ../src/widgets/toolbox.cpp:4842
 #, fuzzy
 msgid "Pick opacity"
 msgstr "Capturar alfa"
 
-#: ../src/widgets/toolbox.cpp:4283
+#: ../src/widgets/toolbox.cpp:4843
 msgid ""
 "Pick both the color and the alpha (transparency) under cursor; otherwise, "
 "pick only the visible color premultiplied by alpha"
@@ -17392,68 +18270,123 @@ msgstr ""
 "Capturar a cor e o alfa (transparência) sob o cursor; senão, capturar apenas "
 "a cor visível pré-multiplicada pelo alfa"
 
-#: ../src/widgets/toolbox.cpp:4286
+#: ../src/widgets/toolbox.cpp:4846
 #, fuzzy
 msgid "Pick"
 msgstr "Pica (unidade de medida em impressão)"
 
-#: ../src/widgets/toolbox.cpp:4295
+#: ../src/widgets/toolbox.cpp:4855
 #, fuzzy
 msgid "Assign opacity"
 msgstr "Alterar opacidade"
 
-#: ../src/widgets/toolbox.cpp:4296
+#: ../src/widgets/toolbox.cpp:4856
 msgid ""
 "If alpha was picked, assign it to selection as fill or stroke transparency"
 msgstr ""
 "Com o alfa capturado, atribuí-lo à seleção como transparência de "
 "preenchimento ou de traço"
 
-#: ../src/widgets/toolbox.cpp:4299
+#: ../src/widgets/toolbox.cpp:4859
 #, fuzzy
 msgid "Assign"
 msgstr "Alinhar"
 
-#: ../src/widgets/toolbox.cpp:4319
+#: ../src/widgets/toolbox.cpp:5110
+msgid "All inactive"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:5111
+msgid "No geometric tool is active"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:5112
+msgid "all_inactive"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:5144
+#, fuzzy
+msgid "Show limiting bounding box"
+msgstr "Caixa delimitadora geométrica"
+
+#: ../src/widgets/toolbox.cpp:5145
+msgid "Show bounding box (used to cut infinite lines)"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:5156
+#, fuzzy
+msgid "Get limiting bounding box from selection"
+msgstr "Remover clip ao caminho da seleção"
+
+#: ../src/widgets/toolbox.cpp:5157
+#, fuzzy
+msgid ""
+"Set limiting bounding box (used to cut infinite lines) to the bounding box "
+"of current selection"
+msgstr "Encaixar cantos das caixas delimitadoras a outros cantos"
+
+#: ../src/widgets/toolbox.cpp:5169
+#, fuzzy
+msgid "Choose a line segment type"
+msgstr "Alterar tipo do segmento"
+
+#: ../src/widgets/toolbox.cpp:5185
+#, fuzzy
+msgid "Display measuring info"
+msgstr "Intenção de renderização na exibição:"
+
+#: ../src/widgets/toolbox.cpp:5186
+msgid "Display measuring info for selected items"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:5206
+msgid "Open LPE dialog"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:5207
+msgid "Open LPE dialog (to adapt parameters numerically)"
+msgstr ""
+
+#: ../src/widgets/toolbox.cpp:5264
 #, fuzzy
 msgid "The width of the eraser pen (relative to the visible canvas area)"
 msgstr "A largura da área de ação (em relação a área visível da página)"
 
-#: ../src/widgets/toolbox.cpp:4336
+#: ../src/widgets/toolbox.cpp:5282
 msgid "Delete objects touched by the eraser"
 msgstr ""
 
-#: ../src/widgets/toolbox.cpp:4342
+#: ../src/widgets/toolbox.cpp:5288
 #, fuzzy
 msgid "Cut"
 msgstr "Cor_tar"
 
-#: ../src/widgets/toolbox.cpp:4343
+#: ../src/widgets/toolbox.cpp:5289
 #, fuzzy
 msgid "Cut out from objects"
 msgstr "Padrão para objeto"
 
-#: ../src/widgets/toolbox.cpp:4678
+#: ../src/widgets/toolbox.cpp:5634
 msgid "Text: Change font family"
 msgstr "Alterar fonte"
 
-#: ../src/widgets/toolbox.cpp:4763
+#: ../src/widgets/toolbox.cpp:5722
 msgid "Text: Change alignment"
 msgstr "Texto: Alterar alinhamento"
 
-#: ../src/widgets/toolbox.cpp:4846
+#: ../src/widgets/toolbox.cpp:5800
 msgid "Text: Change font style"
 msgstr "Texto: Alterar estilo da fonte"
 
-#: ../src/widgets/toolbox.cpp:4893
+#: ../src/widgets/toolbox.cpp:5847
 msgid "Text: Change orientation"
 msgstr "Texto: Alterar orientação"
 
-#: ../src/widgets/toolbox.cpp:4992
+#: ../src/widgets/toolbox.cpp:5949
 msgid "Text: Change font size"
 msgstr "Texto: Alterar o tamanho da fonte"
 
-#: ../src/widgets/toolbox.cpp:5232
+#: ../src/widgets/toolbox.cpp:6184
 msgid ""
 "This font is currently not installed on your system. Inkscape will use the "
 "default font instead."
@@ -17461,102 +18394,102 @@ msgstr ""
 "Esta fonte não está instalada no seu sistema. O Inkscape irá utilizar a "
 "fonte padrão no lugar dela."
 
-#: ../src/widgets/toolbox.cpp:5271
+#: ../src/widgets/toolbox.cpp:6220
 msgid "Align left"
 msgstr "Alinhar à esquerda"
 
-#: ../src/widgets/toolbox.cpp:5282
+#: ../src/widgets/toolbox.cpp:6231
 msgid "Center"
 msgstr "Centralizar"
 
-#: ../src/widgets/toolbox.cpp:5293
+#: ../src/widgets/toolbox.cpp:6242
 msgid "Align right"
 msgstr "Alinhar à direita"
 
-#: ../src/widgets/toolbox.cpp:5304
+#: ../src/widgets/toolbox.cpp:6253
 msgid "Justify"
 msgstr "Justificar"
 
-#: ../src/widgets/toolbox.cpp:5320
+#: ../src/widgets/toolbox.cpp:6268
 msgid "Bold"
 msgstr "Negrito"
 
-#: ../src/widgets/toolbox.cpp:5331
+#: ../src/widgets/toolbox.cpp:6279
 msgid "Italic"
 msgstr "Itálico"
 
-#: ../src/widgets/toolbox.cpp:5465
+#: ../src/widgets/toolbox.cpp:6413
 msgid "Change connector spacing"
 msgstr "Mudar espaçamento do conector"
 
-#: ../src/widgets/toolbox.cpp:5553
+#: ../src/widgets/toolbox.cpp:6496
 msgid "Avoid"
 msgstr "Evitar"
 
-#: ../src/widgets/toolbox.cpp:5563
+#: ../src/widgets/toolbox.cpp:6506
 msgid "Ignore"
 msgstr "Ignorar"
 
-#: ../src/widgets/toolbox.cpp:5575
+#: ../src/widgets/toolbox.cpp:6518
 #, fuzzy
 msgid "Connector Spacing"
 msgstr "Mudar espaçamento do conector"
 
-#: ../src/widgets/toolbox.cpp:5575
+#: ../src/widgets/toolbox.cpp:6518
 msgid "Spacing:"
 msgstr "Espaçamento:"
 
-#: ../src/widgets/toolbox.cpp:5576
+#: ../src/widgets/toolbox.cpp:6519
 msgid "The amount of space left around objects by auto-routing connectors"
 msgstr ""
 "Quantidade de espaço deixada ao redor dos objetos quando os conectores são "
 "posicionados automaticamente "
 
-#: ../src/widgets/toolbox.cpp:5587
+#: ../src/widgets/toolbox.cpp:6530
 msgid "Graph"
 msgstr "Gráfico"
 
-#: ../src/widgets/toolbox.cpp:5597
+#: ../src/widgets/toolbox.cpp:6540
 #, fuzzy
 msgid "Connector Length"
 msgstr "Conector"
 
-#: ../src/widgets/toolbox.cpp:5597
+#: ../src/widgets/toolbox.cpp:6540
 msgid "Length:"
 msgstr "Comprimento:"
 
-#: ../src/widgets/toolbox.cpp:5598
+#: ../src/widgets/toolbox.cpp:6541
 msgid "Ideal length for connectors when layout is applied"
 msgstr "Comprimento ideal para os conectores quando o layout é aplicado"
 
-#: ../src/widgets/toolbox.cpp:5610
+#: ../src/widgets/toolbox.cpp:6553
 #, fuzzy
 msgid "Downwards"
 msgstr "Abaixamentos"
 
-#: ../src/widgets/toolbox.cpp:5611
+#: ../src/widgets/toolbox.cpp:6554
 msgid "Make connectors with end-markers (arrows) point downwards"
 msgstr "Criar conectores com marcadores-fim (setas) apontando para baixo"
 
-#: ../src/widgets/toolbox.cpp:5627
+#: ../src/widgets/toolbox.cpp:6569
 msgid "Do not allow overlapping shapes"
 msgstr "Não permitir sobreposição de formas"
 
-#: ../src/widgets/toolbox.cpp:5728
+#: ../src/widgets/toolbox.cpp:6672
 #, fuzzy
 msgid "Fill by"
 msgstr "Preencher por:"
 
-#: ../src/widgets/toolbox.cpp:5729
+#: ../src/widgets/toolbox.cpp:6673
 msgid "Fill by:"
 msgstr "Preencher por:"
 
-#: ../src/widgets/toolbox.cpp:5741
+#: ../src/widgets/toolbox.cpp:6685
 #, fuzzy
 msgid "Fill Threshold"
 msgstr "Limiar"
 
-#: ../src/widgets/toolbox.cpp:5742
+#: ../src/widgets/toolbox.cpp:6686
 msgid ""
 "The maximum allowed difference between the clicked pixel and the neighboring "
 "pixels to be counted in the fill"
@@ -17564,30 +18497,30 @@ msgstr ""
 "A diferença máxima permitida entre o pixel clicado e os pixels vizinhos a "
 "serem contados no preenchimento"
 
-#: ../src/widgets/toolbox.cpp:5766
+#: ../src/widgets/toolbox.cpp:6711
 msgid "Grow/shrink by"
 msgstr "Expandir/Encolher por"
 
-#: ../src/widgets/toolbox.cpp:5766
+#: ../src/widgets/toolbox.cpp:6711
 msgid "Grow/shrink by:"
 msgstr "Expandir/Encolher por:"
 
-#: ../src/widgets/toolbox.cpp:5767
+#: ../src/widgets/toolbox.cpp:6712
 msgid ""
 "The amount to grow (positive) or shrink (negative) the created fill path"
 msgstr ""
 "Quantidade a expandir (Positivamente) ou Encolher (Negativamente) na área "
 "desejada"
 
-#: ../src/widgets/toolbox.cpp:5792
+#: ../src/widgets/toolbox.cpp:6737
 msgid "Close gaps"
 msgstr "Fechar intervalos:"
 
-#: ../src/widgets/toolbox.cpp:5793
+#: ../src/widgets/toolbox.cpp:6738
 msgid "Close gaps:"
 msgstr "Fechar intervalos:"
 
-#: ../src/widgets/toolbox.cpp:5805
+#: ../src/widgets/toolbox.cpp:6750
 #, fuzzy
 msgid ""
 "Reset paint bucket parameters to defaults (use Inkscape Preferences > Tools "
@@ -17600,22 +18533,22 @@ msgstr ""
 msgid "Unable to process this object.  Try changing it into a path first."
 msgstr ""
 
-#: ../share/extensions/embedimage.py:79
+#: ../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 ""
 
-#: ../share/extensions/embedimage.py:104
+#: ../share/extensions/embedimage.py:76
 #, python-format
-msgid ""
-"%s is not of type image/png, image/jpeg, image/bmp, image/gif, image/tiff, "
-"or image/x-icon"
+msgid "Sorry we could not locate %s"
 msgstr ""
 
-#: ../share/extensions/embedimage.py:106
+#: ../share/extensions/embedimage.py:101
 #, python-format
-msgid "Sorry we could not locate %s"
+msgid ""
+"%s is not of type image/png, image/jpeg, image/bmp, image/gif, image/tiff, "
+"or image/x-icon"
 msgstr ""
 
 #: ../share/extensions/export_gimp_palette.py:14
@@ -17636,7 +18569,7 @@ msgid ""
 "by a command like: sudo apt-get install python-lxml"
 msgstr ""
 
-#: ../share/extensions/inkex.py:187
+#: ../share/extensions/inkex.py:186
 #, python-format
 msgid "No matching node for expression: %s"
 msgstr ""
@@ -17688,7 +18621,7 @@ msgstr ""
 msgid "The second path must be exactly four nodes long."
 msgstr ""
 
-#: ../share/extensions/svg_and_media_zip_output.py:103
+#: ../share/extensions/svg_and_media_zip_output.py:102
 #, fuzzy, python-format
 msgid "Could not locate file: %s"
 msgstr "Não foi possível exportar para o arquivo %s.\n"
@@ -18007,6 +18940,10 @@ msgstr ""
 msgid "Desktop Cutting Plotter (*.DXF)"
 msgstr ""
 
+#: ../share/extensions/dxf_outlines.inx.h:3
+msgid "ROBO-Master output"
+msgstr ""
+
 #: ../share/extensions/dxf_output.inx.h:2
 msgid "DXF Output"
 msgstr "Saída DXF"
@@ -18060,10 +18997,6 @@ msgstr "Embutir somente a imagem selecionada"
 msgid "EPS Input"
 msgstr "Entrada EPS"
 
-#: ../share/extensions/eps_input.inx.h:2
-msgid "Encapsulated Postscript"
-msgstr "Encapsulated Postscript"
-
 #: ../share/extensions/epsi_output.inx.h:1
 msgid "EPSI Output"
 msgstr "Saída EPSI"
@@ -18109,6 +19042,10 @@ msgstr "Anexar automaticamente a extensão do arquivo"
 msgid "Path to save image"
 msgstr "Local onde salvar a imagem"
 
+#: ../share/extensions/extrude.inx.h:1
+msgid "Extrude"
+msgstr "Extrudir"
+
 #: ../share/extensions/fig_input.inx.h:1
 msgid "Open files saved with XFIG"
 msgstr "Abrir arquivos salvos com XFIG"
@@ -18282,7 +19219,7 @@ msgid "Save Guides:"
 msgstr "Guias"
 
 #: ../share/extensions/grid_cartesian.inx.h:1
-msgid "Border Thickness / px"
+msgid "Border Thickness [px]"
 msgstr ""
 
 #: ../share/extensions/grid_cartesian.inx.h:2
@@ -18307,17 +19244,19 @@ msgid "Logarithmic Y Subdiv. (Base given by entry above)"
 msgstr ""
 
 #: ../share/extensions/grid_cartesian.inx.h:7
-msgid "Major X Division Thickness / px"
-msgstr ""
+#, fuzzy
+msgid "Major X Division Spacing [px]"
+msgstr "Espaçamento Horizontal"
 
 #: ../share/extensions/grid_cartesian.inx.h:8
 #, fuzzy
-msgid "Major X Divisions"
+msgid "Major X Division Thickness [px]"
 msgstr "Divisão"
 
 #: ../share/extensions/grid_cartesian.inx.h:9
-msgid "Major X Divsion Spacing / px"
-msgstr ""
+#, fuzzy
+msgid "Major X Divisions"
+msgstr "Divisão"
 
 #: ../share/extensions/grid_cartesian.inx.h:10
 #, fuzzy
@@ -18325,8 +19264,9 @@ msgid "Major Y Division Spacing"
 msgstr "Espaçamento Horizontal"
 
 #: ../share/extensions/grid_cartesian.inx.h:11
-msgid "Major Y Division Thickness / px"
-msgstr ""
+#, fuzzy
+msgid "Major Y Division Thickness [px]"
+msgstr "Divisão"
 
 #: ../share/extensions/grid_cartesian.inx.h:12
 #, fuzzy
@@ -18334,12 +19274,14 @@ msgid "Major Y Divisions"
 msgstr "Divisão"
 
 #: ../share/extensions/grid_cartesian.inx.h:13
-msgid "Minor X Division Thickness / px"
-msgstr ""
+#, fuzzy
+msgid "Minor X Division Thickness [px]"
+msgstr "Divisão"
 
 #: ../share/extensions/grid_cartesian.inx.h:14
-msgid "Minor Y Division Thickness / px"
-msgstr ""
+#, fuzzy
+msgid "Minor Y Division Thickness [px]"
+msgstr "Divisão"
 
 #: ../share/extensions/grid_cartesian.inx.h:16
 msgid "Subdivisions per Major X Division"
@@ -18350,11 +19292,11 @@ msgid "Subdivisions per Major Y Division"
 msgstr ""
 
 #: ../share/extensions/grid_cartesian.inx.h:18
-msgid "Subminor X Division Thickness / px"
+msgid "Subminor X Division Thickness [px]"
 msgstr ""
 
 #: ../share/extensions/grid_cartesian.inx.h:19
-msgid "Subminor Y Division Thickness / px"
+msgid "Subminor Y Division Thickness [px]"
 msgstr ""
 
 #: ../share/extensions/grid_cartesian.inx.h:20
@@ -18375,15 +19317,15 @@ msgid "Angle Divisions at Centre"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:3
-msgid "Centre Dot Diameter / px"
+msgid "Centre Dot Diameter [px]"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:4
-msgid "Circumferential Label Outset / px"
+msgid "Circumferential Label Outset [px]"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:5
-msgid "Circumferential Label Size / px"
+msgid "Circumferential Label Size [px]"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:6
@@ -18395,19 +19337,20 @@ msgid "Logarithmic Subdiv. (Base given by entry above)"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:9
-msgid "Major Angular Division Thickness / px"
+msgid "Major Angular Division Thickness [px]"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:10
-msgid "Major Circular Division Thickness / px"
-msgstr ""
+#, fuzzy
+msgid "Major Circular Division Spacing [px]"
+msgstr "Espaçamento Horizontal"
 
 #: ../share/extensions/grid_polar.inx.h:11
-msgid "Major Circular Divisions"
+msgid "Major Circular Division Thickness [px]"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:12
-msgid "Major Circular Divsion Spacing / px"
+msgid "Major Circular Divisions"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:13
@@ -18415,11 +19358,11 @@ msgid "Minor Angle Division End 'n' Divs. Before Centre"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:14
-msgid "Minor Angular Division Thickness / px"
+msgid "Minor Angular Division Thickness [px]"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:15
-msgid "Minor Circular Division Thickness / px"
+msgid "Minor Circular Division Thickness [px]"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:17
@@ -18548,7 +19491,7 @@ 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 "
+"-: turn right |: turn 180 degrees [: remember point ]: return to remembered "
 "point"
 msgstr ""
 
@@ -18623,14 +19566,15 @@ msgid ""
 "real world, Scale must be set to 250."
 msgstr ""
 
-#: ../share/extensions/motion.inx.h:2
-msgid "Extrude"
-msgstr "Extrudir"
-
-#: ../share/extensions/motion.inx.h:4
+#: ../share/extensions/motion.inx.h:3
 msgid "Magnitude"
 msgstr "Magnitude"
 
+#: ../share/extensions/motion.inx.h:4
+#, fuzzy
+msgid "Motion"
+msgstr "Posição"
+
 #: ../share/extensions/outline2svg.inx.h:1
 msgid "ASCII Text with outline markup"
 msgstr "Texto ASCII com esquema de contorno"
@@ -18693,7 +19637,7 @@ msgstr "Combinado"
 
 #: ../share/extensions/pathscatter.inx.h:4
 #, fuzzy
-msgid "Follow path orientation."
+msgid "Follow path orientation"
 msgstr "Orientação da página:"
 
 #: ../share/extensions/pathscatter.inx.h:6
@@ -19029,16 +19973,9 @@ msgstr ""
 msgid "Z-Sort Faces By:"
 msgstr ""
 
-#: ../share/extensions/ps_input.inx.h:1
-msgid "Postscript"
-msgstr "Postscript"
-
-#: ../share/extensions/ps_input.inx.h:2
-msgid "Postscript (*.ps)"
-msgstr "Postscript (*.ps)"
-
 #: ../share/extensions/ps_input.inx.h:3
-msgid "Postscript Input"
+#, fuzzy
+msgid "PostScript Input"
 msgstr "Entrada Postscript"
 
 #: ../share/extensions/radiusrand.inx.h:1
@@ -19119,11 +20056,6 @@ msgstr ""
 msgid "Horizontal Point:"
 msgstr "Texto horizontal"
 
-#: ../share/extensions/restack.inx.h:7
-#, fuzzy
-msgid "Left"
-msgstr "ft"
-
 #: ../share/extensions/restack.inx.h:8
 msgid "Left to Right (0)"
 msgstr ""
@@ -19152,11 +20084,6 @@ msgstr " R_edefinir "
 msgid "Restack Direction:"
 msgstr ""
 
-#: ../share/extensions/restack.inx.h:14
-#, fuzzy
-msgid "Right"
-msgstr "Direitos"
-
 #: ../share/extensions/restack.inx.h:15
 msgid "Right to Left (180)"
 msgstr ""
@@ -19440,130 +20367,3 @@ msgstr "Entrada de Meta-arquivo do Windows"
 #: ../share/extensions/xaml2svg.inx.h:3
 msgid "XAML Input"
 msgstr "Entrada XAML"
-
-#~ msgid ""
-#~ "Cannot set <b>%s</b>: Another element with value <b>%s</b> already exists!"
-#~ msgstr ""
-#~ "Não foi possível ajustar <b>%s</b>: Outro elemento com este valor <b>%s</"
-#~ "b> já existe!"
-
-#~ msgid "Bend Path"
-#~ msgstr "Curvar Caminho"
-
-#~ msgid "Slant"
-#~ msgstr "Inclinação"
-
-#~ msgid "Stroke path"
-#~ msgstr "Caminho em traço"
-
-#~ msgid "Space between copies of the pattern"
-#~ msgstr "Espaço entre cópias do padrão"
-
-#~ msgid "y = y + x*(slant factor)"
-#~ msgstr "y = y + x*(fator de inclinação)"
-
-#~ msgid "The x-coord of this point is around which the slant will happen"
-#~ msgstr "A inclinação irá acontecer ao redor da coordenada x deste ponto."
-
-#~ msgid "This effect does not support arcs yet, try to convert to path."
-#~ msgstr "Esse efeito ainda não suporta arcos, tente converter para caminho."
-
-#~ msgid "At least one of the objects is <b>not a path</b>, cannot combine."
-#~ msgstr ""
-#~ "Pelo menos um dos objetos <b>não é um caminho</b>. Não é possível "
-#~ "combinar."
-
-#~ msgid ""
-#~ "You cannot combine objects from <b>different groups</b> or <b>layers</b>."
-#~ msgstr ""
-#~ "Você não pode combinar objetos de <b>grupos ou camadas diferentes</b>."
-
-#~ msgid "Nothing in the clipboard."
-#~ msgstr "Nada na área de transferência."
-
-#~ msgid "Nothing on the style clipboard."
-#~ msgstr "Nada na área de transferência de estilo."
-
-#~ msgid "Clipboard does not contain a live path effect."
-#~ msgstr "A área de transferência não contém um efeito ao vivo de caminho."
-
-#~ msgid "<b>Snapping to special nodes</b>"
-#~ msgstr "<b>Encaixando em nós especiais</b>"
-
-#~ msgid "Dialogs stay on top (experimental!)"
-#~ msgstr "Janelas de diálogo permanecem no topo da tela (experimental!)"
-
-#~ msgid ""
-#~ "Whether dialogs should stay on top of document windows. Read the "
-#~ "ReleaseNotes on this issue! (Rightclick the taskbar button and press "
-#~ "'Restore' to bring back a minimized document window)"
-#~ msgstr ""
-#~ "Janelas de diálogo deveriam estar no topo das janelas do documento. Leia "
-#~ "as Notas de Lançamento (ReleaseNotes) desta versão! (Botão direito na "
-#~ "barra de tarefas e pressione \"Restaurar\" para trazer de volta o "
-#~ "documento minimizado)"
-
-#~ msgid "Make the commands toolbar icons smaller"
-#~ msgstr "Tornar ícones da barra de ferramentas de comandos menores"
-
-#~ msgid ""
-#~ "Make the commands toolbar use the 'secondary' toolbar size (requires "
-#~ "restart)"
-#~ msgstr ""
-#~ "Faz com que a barra de ferramentas de comandos utilize o tamanho "
-#~ "'secundário' (é necessário reiniciar)"
-
-#~ msgid "_Apply"
-#~ msgstr "_Aplicar"
-
-#~ msgid "Apply chosen effect to selection"
-#~ msgstr "Aplicar efeito escolhido à seleção"
-
-#, fuzzy
-#~ msgid "Shape"
-#~ msgstr "Formas"
-
-#, fuzzy
-#~ msgid "Tall"
-#~ msgstr "Tabelado"
-
-#, fuzzy
-#~ msgid "Square"
-#~ msgstr "Ponta quadrada"
-
-#, fuzzy
-#~ msgid "Wide"
-#~ msgstr "_Ocultar"
-
-#~ msgid "Delete Segment"
-#~ msgstr "Apagar Segmento"
-
-#~ msgid "Node Break"
-#~ msgstr "Quebrar Nó"
-
-#~ msgid "Reset all parameters to defaults"
-#~ msgstr "Redefinir todos os parâmetros para padrão"
-
-#~ msgid "Custom..."
-#~ msgstr "Personalizar..."
-
-#~ msgid "Interpolate style (experimental)"
-#~ msgstr "Estilo de interpolação (experimental)"
-
-#~ msgid "Developer Examples"
-#~ msgstr "Exemplos de Desenvolvedor"
-
-#~ msgid "RadioButton example"
-#~ msgstr "Exemplo de RadioButton"
-
-#~ msgid "Select option: "
-#~ msgstr "Selecionar opção:"
-
-#~ msgid "Select second option: "
-#~ msgstr "Selecionar segunda opção:"
-
-#~ msgid "Random Point"
-#~ msgstr "Ponto Aleatório"
-
-#~ msgid "Random Position"
-#~ msgstr "Posição Aleatória"
index 5e013984c4f3f1e6852f179c03f67cd6073d44b6..24456aa3de65ffbe6fce0a95acf65afa2bf9c72a 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: Inkscape 0.46\n"
 "Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n"
 "POT-Creation-Date: 2008-07-29 17:48+0400\n"
-"PO-Revision-Date: 2008-07-29 17:24+0100\n"
+"PO-Revision-Date: 2008-10-05 18:21+0100\n"
 "Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
 "Language-Team: Martin Srebotnjak <miles@filmsi.net>\n"
 "MIME-Version: 1.0\n"
@@ -3401,9 +3401,8 @@ msgstr "Datoteka EPS (Encapsulated Postscript)"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/apparition.h:24
-#, fuzzy
 msgid "Apparition"
-msgstr "Nasičenost"
+msgstr "Prikazen"
 
 #. Name in the menus, should have a N_() around it for translation
 #: ../src/extension/internal/filter/apparition.h:25
@@ -3490,19 +3489,17 @@ msgstr "Črna, zabrisana padajoča senca"
 
 #. Name in the menus, should have a N_() around it for translation
 #: ../src/extension/internal/filter/emboss.h:22
-#, fuzzy
 msgid "Emboss effect"
-msgstr "Brez učinkov"
+msgstr "Učinek reliefne okrasitve"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/etched-glass.h:24
 msgid "Etched Glass"
-msgstr ""
+msgstr "Jedkano steklo"
 
 #: ../src/extension/internal/filter/filter-file.cpp:32
-#, fuzzy
 msgid "Bundled"
-msgstr "Zaobljeno"
+msgstr "Zavito"
 
 #: ../src/extension/internal/filter/filter-file.cpp:33
 msgid "Personal"
@@ -3540,7 +3537,7 @@ msgstr "Umetniško besedilo"
 #. ID -- should be unique
 #: ../src/extension/internal/filter/jelly-bean.h:24
 msgid "Jelly Bean"
-msgstr ""
+msgstr "Bonbonček"
 
 #. Name in the menus, should have a N_() around it for translation
 #: ../src/extension/internal/filter/jelly-bean.h:25
@@ -3619,9 +3616,8 @@ msgstr "Ne deluje, hrošč"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/ridged-border.h:24
-#, fuzzy
 msgid "Ridged Border"
-msgstr "Robni način"
+msgstr "Slemenast rob"
 
 #. ID -- should be unique
 #: ../src/extension/internal/filter/ripple.h:24
@@ -3668,9 +3664,8 @@ msgid "Snow"
 msgstr "Sneg"
 
 #: ../src/extension/internal/filter/snow.h:34
-#, fuzzy
 msgid "Drift Size"
-msgstr "Velikost pike"
+msgstr "Velikost zameta"
 
 #: ../src/extension/internal/filter/snow.h:40
 msgid "When the weather outside is frightening..."
@@ -5605,9 +5600,8 @@ msgstr "Spregledovanje pisave brez družine, ki bi sesula Pango"
 
 #. {constant defined in effect.h, N_("name of your effect"), "name of your effect in SVG"}
 #: ../src/live_effects/effect.cpp:75
-#, fuzzy
 msgid "Angle bisector"
-msgstr "Kot v smeri X"
+msgstr "Središčnica kota"
 
 #: ../src/live_effects/effect.cpp:76
 msgid "Bend"
@@ -5672,9 +5666,8 @@ msgstr "Vzorec vzdolž poti"
 
 #. for historic reasons, this effect is called skeletal(strokes) in Inkscape:SVG
 #: ../src/live_effects/effect.cpp:94
-#, fuzzy
 msgid "Perpendicular bisector"
-msgstr "(pravokotno na potezo, \"čopič\")"
+msgstr "Pravokotna središčnica"
 
 #: ../src/live_effects/effect.cpp:95
 msgid "Perspective path"
@@ -5694,7 +5687,7 @@ msgstr "Skica"
 
 #: ../src/live_effects/effect.cpp:99
 msgid "Spiro spline"
-msgstr ""
+msgstr "Spiro-zlepek"
 
 #: ../src/live_effects/effect.cpp:100
 msgid "Stitch Sub-Paths"
@@ -5723,7 +5716,7 @@ msgstr "Brez učinkov"
 #: ../src/live_effects/effect.cpp:296
 #, c-format
 msgid "Please specify a parameter path for the LPE '%s' with %d mouse clicks"
-msgstr ""
+msgstr "Navedite pot parametrov za LPE '%s' z %d kliki miške"
 
 #: ../src/live_effects/effect.cpp:580
 #, c-format
@@ -5797,7 +5790,7 @@ msgstr "Zasuka izvirnik pod kotom 90 stopinj, preden ga ukrivi vzdolž poti ukri
 
 #: ../src/live_effects/lpe-boolops.cpp:23
 msgid "Null"
-msgstr ""
+msgstr "Nič"
 
 #: ../src/live_effects/lpe-boolops.cpp:24
 msgid "Intersect"
@@ -6039,13 +6032,12 @@ msgid "Determines the number of steps from start to end path."
 msgstr "Določa število korakov od začetka do konca poti."
 
 #: ../src/live_effects/lpe-interpolate.cpp:32
-#, fuzzy
 msgid "Equidistant spacing"
-msgstr "Razširi razmik med črtami"
+msgstr "Ekvidistanten razmik"
 
 #: ../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 ""
+msgstr "Če je resnično, bo razmik med vmesnimi točkami konstanten vzdolž cele dolžine poti. Če bo neresnično, bo razdalja odvisna od položaja vozlišč poti trajektorije."
 
 #. initialise your parameters here:
 #: ../src/live_effects/lpe-knot.cpp:27
@@ -6139,7 +6131,7 @@ msgstr "Črta, ki služi kot 'zrcalo' za odsev"
 
 #: ../src/live_effects/lpe-offset.cpp:30
 msgid "Handle to control the distance of the offset from the curve"
-msgstr ""
+msgstr "Ročica za nadzor odmika od krivulje"
 
 #: ../src/live_effects/lpe-parallel.cpp:50
 msgid "Adjust the offset"
@@ -6232,7 +6224,7 @@ msgstr "Odmiki v enoti velikosti vzorca"
 
 #: ../src/live_effects/lpe-patternalongpath.cpp:70
 msgid "Spacing, tangential and normal offset are expressed as a ratio of width/height"
-msgstr ""
+msgstr "Razmik, tangencialni in navadni odmik so izraženi kot razmerje širina/višina"
 
 #: ../src/live_effects/lpe-patternalongpath.cpp:71
 #: ../share/extensions/pathalongpath.inx.h:7
@@ -6328,9 +6320,8 @@ msgstr "Faktor spremembe velikosti za razdaljo merila"
 
 #. initialise your parameters here:
 #: ../src/live_effects/lpe-skeleton.cpp:33
-#, fuzzy
 msgid "Float parameter"
-msgstr "Parametri učinka"
+msgstr "Parameter plav. vejice"
 
 #: ../src/live_effects/lpe-skeleton.cpp:33
 msgid "just a real number like 1.4!"
@@ -6367,7 +6358,6 @@ msgid "Max. overlap"
 msgstr "Najv. prekrivanje"
 
 #: ../src/live_effects/lpe-sketch.cpp:41
-#, fuzzy
 msgid "How much successive strokes should overlap (relative to maximum length)"
 msgstr "Koliko zaporednih potez naj se prekriva (relativno glede na največjo dolžino)."
 
@@ -6408,7 +6398,6 @@ msgid "Tremble frequency"
 msgstr "Frekvenca tresenja"
 
 #: ../src/live_effects/lpe-sketch.cpp:51
-#, fuzzy
 msgid "Average number of tremble periods in an approximating stroke"
 msgstr "Povprečno število period tresenja v približku poteze"
 
@@ -6422,7 +6411,7 @@ msgstr "Koliko konstrukcijskih črt (tangent) naj bo narisanih"
 
 #: ../src/live_effects/lpe-sketch.cpp:55
 msgid "Scale factor relating curvature and length of construction lines (try 5*offset)"
-msgstr ""
+msgstr "Faktor razmerja med ukrivljenostjo in dolžino konstrukcijskih črt (poskusite 5*odmik)"
 
 #: ../src/live_effects/lpe-sketch.cpp:56
 msgid "Max. length"
@@ -6477,14 +6466,12 @@ msgid "Stack step"
 msgstr "Korak skladanja"
 
 #: ../src/live_effects/lpe-test-doEffect-stack.cpp:24
-#, fuzzy
 msgid "point param"
-msgstr "pentagram"
+msgstr "Točkovni parameter"
 
 #: ../src/live_effects/lpe-vonkoch.cpp:42
-#, fuzzy
 msgid "Bounding box"
-msgstr "Okvir, ki naj bo uporabljen:"
+msgstr "Robni okvir"
 
 #: ../src/live_effects/lpe-vonkoch.cpp:43
 msgid "Last gen. segment"
@@ -6520,7 +6507,7 @@ msgstr "Sklic"
 
 #: ../src/live_effects/lpe-vonkoch.cpp:52
 msgid "Generating path segments define transforms in reference to bbox or last segment"
-msgstr ""
+msgstr "Ustvarjanje odsekov poti določa transformacije glede na obrobni okvir ali zadnji odsek"
 
 #: ../src/live_effects/lpe-vonkoch.cpp:53
 msgid "Max complexity"
@@ -8693,9 +8680,8 @@ msgid "<b>Click</b> or <b>click and drag</b> to start a path; with <b>Shift</b>
 msgstr "<b>Kliknite</b> ali <b>kliknite in povlecite</b>, da začnete pot. S <b>Shift</b> dodajate k izbrani poti. S <b>Ctrl+klik</b> ustvarite posamične pike."
 
 #: ../src/tools-switch.cpp:205
-#, fuzzy
 msgid "<b>Drag</b> to draw a calligraphic stroke; with <b>Ctrl</b> to track a guide path. <b>Arrow keys</b> adjust width (left/right) and angle (up/down)."
-msgstr "<b>Povlecite</b>, da narišete kaligrafsko potezo; s <b>Ctrl</b> sledite vodilu, z <b>Alt</b> pa tanjšate/debelite potezo. S <b>tipkami puščic</b> prilagodite širino (levo/desno) in kot nagiba (gor/dol)."
+msgstr "<b>Povlecite</b>, da narišete kaligrafsko potezo; s <b>Ctrl</b> sledite poti vodila. S <b>puščičnimi tipkami</b> prilagodite širino (levo/desno) in kot nagiba (gor/dol)."
 
 #: ../src/tools-switch.cpp:217
 msgid "<b>Drag</b> or <b>double click</b> to create a gradient on selected objects, <b>drag handles</b> to adjust gradients."
@@ -9409,9 +9395,8 @@ msgid "Snap to page border"
 msgstr "Pripni na rob strani"
 
 #: ../src/ui/dialog/document-properties.cpp:114
-#, fuzzy
 msgid "Snap bounding box corners and nodes to the page border"
-msgstr "Pripni oglišča okvirov in vodila na robove strani"
+msgstr "Pripni oglišča okvirov in vozlišča na robove strani"
 
 #. ---------------------------------------------------------------
 #. Applies to both nodes and guides, but not to bboxes, that's why its located here
@@ -11272,9 +11257,8 @@ msgid "Show dots instead of lines"
 msgstr "Pokaži pike namesto črt"
 
 #: ../src/ui/dialog/inkscape-preferences.cpp:889
-#, fuzzy
 msgid "If set, display dots at gridpoints instead of gridlines"
-msgstr "Če je nastavljeno, prikaže mrežne točke v obliki pik namesto mrežnih črt."
+msgstr "Če je nastavljeno, prikaže namesto mrežnih črt mrežne točke v obliki pik."
 
 #: ../src/ui/dialog/inkscape-preferences.cpp:902
 msgid "Angle X"
@@ -11297,9 +11281,8 @@ msgid "XML formatting"
 msgstr "Oblikovanje XML"
 
 #: ../src/ui/dialog/inkscape-preferences.cpp:921
-#, fuzzy
 msgid "Inline attributes"
-msgstr "Vdelane lastnosti"
+msgstr "Lastnosti vdelanosti"
 
 #: ../src/ui/dialog/inkscape-preferences.cpp:922
 msgid "Put attributes on the same line as the element tag"
@@ -11510,7 +11493,7 @@ msgstr "Kako močen je privzeto ukaz poenostavi. Če ga izberete večkrat zapore
 
 #: ../src/ui/dialog/inkscape-preferences.cpp:1055
 msgid "Latency skew:"
-msgstr ""
+msgstr "Nagib latence:"
 
 #: ../src/ui/dialog/inkscape-preferences.cpp:1055
 msgid "(requires restart)"
@@ -11518,7 +11501,7 @@ msgstr "(zahteva ponoven zagon)"
 
 #: ../src/ui/dialog/inkscape-preferences.cpp:1056
 msgid "Factor by which the event clock is skewed from the actual time (0.9766 on some systems)."
-msgstr ""
+msgstr "Faktor, za katerega je zamaknjena ura dogodka od dejanskega časa (na nekaterih sistemih 0,9766)."
 
 #: ../src/ui/dialog/inkscape-preferences.cpp:1059
 msgid "Misc"
@@ -11774,7 +11757,7 @@ msgstr "_Pisava"
 
 #: ../src/ui/dialog/svg-fonts-dialog.cpp:198
 msgid "Set width (not working yet):"
-msgstr ""
+msgstr "Določite širino (še ne deluje):"
 
 #. Kerning Setup:
 #: ../src/ui/dialog/svg-fonts-dialog.cpp:207
@@ -11783,11 +11766,11 @@ msgstr "Nastavitev spodsekavanja:"
 
 #: ../src/ui/dialog/svg-fonts-dialog.cpp:209
 msgid "1st Glyph:"
-msgstr ""
+msgstr "1. reliefna brazda"
 
 #: ../src/ui/dialog/svg-fonts-dialog.cpp:211
 msgid "2nd Glyph:"
-msgstr ""
+msgstr "2. reliefna brazda:"
 
 #: ../src/ui/dialog/svg-fonts-dialog.cpp:222
 msgid "Kerning value:"
@@ -13743,13 +13726,13 @@ msgstr "_Odstrani s poti"
 
 #: ../src/verbs.cpp:2329
 msgid "Remove Manual _Kerns"
-msgstr "Odstrani ročno _zgoščevanje"
+msgstr "Odstrani ročno _spodsekavanje"
 
 #. 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:2332
 msgid "Remove all manual kerns and glyph rotations from a text object"
-msgstr "Odstrani vsa ročna vrtenja črk v besedilu"
+msgstr "Odstrani vsa ročna spodsekavanja in sukanja črk v besedilu"
 
 #: ../src/verbs.cpp:2334
 msgid "_Union"
@@ -15478,7 +15461,7 @@ msgstr "Slog novih kaligrafskih potez"
 
 #: ../src/widgets/toolbox.cpp:211
 msgid "TBD"
-msgstr ""
+msgstr "BŠD"
 
 #: ../src/widgets/toolbox.cpp:221
 msgid "Style of Paint Bucket fill objects"
@@ -16024,14 +16007,12 @@ msgid "Create regular Bezier path"
 msgstr "Ustari pravilno Bézierovo pot"
 
 #: ../src/widgets/toolbox.cpp:3307
-#, fuzzy
 msgid "Spiro"
-msgstr "Spirala"
+msgstr "Spiro"
 
 #: ../src/widgets/toolbox.cpp:3308
-#, fuzzy
 msgid "Create Spiro path"
-msgstr "Ustvari spiralo"
+msgstr "Ustvari spiro-pot"
 
 #: ../src/widgets/toolbox.cpp:3315
 #: ../src/widgets/toolbox.cpp:3675
@@ -16039,14 +16020,12 @@ msgid "Mode:"
 msgstr "Način:"
 
 #: ../src/widgets/toolbox.cpp:3343
-#, fuzzy
 msgid "Triangle in"
-msgstr "Trikotnik"
+msgstr "Notranji trikotnik"
 
 #: ../src/widgets/toolbox.cpp:3344
-#, fuzzy
 msgid "Triangle out"
-msgstr "Trikotnik"
+msgstr "Zunanji trikotnik"
 
 #: ../src/widgets/toolbox.cpp:3346
 msgid "From clipboard"
@@ -16074,9 +16053,8 @@ msgid "How much smoothing (simplifying) is applied to the line"
 msgstr "Koliko glajenja (poenostavljanja) naj bo izvedenega na črti"
 
 #: ../src/widgets/toolbox.cpp:3495
-#, fuzzy
 msgid "Reset pencil parameters to defaults (use Inkscape Preferences > Tools to change defaults)"
-msgstr "Povrni lastnosti oblike na privzete (uporabite Nastavitve Inkscapea >Orodja za nastavitev privzetih vrednosti)"
+msgstr "Ponastavi lastnosti pisala na privzete (uporabite Nastavitve > Orodja za spremembo privzetih vrednosti)"
 
 #. Width
 #: ../src/widgets/toolbox.cpp:3582
@@ -16801,7 +16779,7 @@ msgstr "Najprej pretvorite predmete v poti!  (Vrnjeno: [%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."
-msgstr ""
+msgstr "Modula numpy ali numpy.linalg ni mogoče uvoziti. Ta modula sta obvezna za to razširitev. Namestite ju in poskusite znova.  Na Debianu podobnemu sistemu lahko to storite z naslednjim ukazom: sudo apt-get install python-numpy."
 
 #: ../share/extensions/perspective.py:64
 msgid "This extension requires that the second selected path be four nodes long."
@@ -16809,7 +16787,7 @@ msgstr "Ta razširitev zahteva, da je druga izbrana pot dolga štiri vozlišča.
 
 #: ../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 ""
+msgstr "Modula numpy ni mogoče uvoziti. Ta modul je obvezen za to razširitev. Namestite ga in poskusite znova.  Na Debianu podobnemu sistemu lahko to storite z naslednjim ukazom: sudo apt-get install python-numpy."
 
 #: ../share/extensions/summersnight.py:32
 msgid "The second path must be exactly four nodes long."
@@ -17360,9 +17338,8 @@ msgid "Save Guides:"
 msgstr "Shrani vodila:"
 
 #: ../share/extensions/grid_cartesian.inx.h:1
-#, fuzzy
 msgid "Border Thickness [px]"
-msgstr "Debelina robu / slik. točke"
+msgstr "Debelina robu [slik. točke]"
 
 #: ../share/extensions/grid_cartesian.inx.h:2
 msgid "Cartesian Grid"
@@ -17385,40 +17362,39 @@ msgid "Logarithmic Y Subdiv. (Base given by entry above)"
 msgstr "Logaritemska podrazdelitev Y (osnovo podaja gornji vnos)"
 
 #: ../share/extensions/grid_cartesian.inx.h:7
+#, fuzzy
 msgid "Major X Division Spacing [px]"
-msgstr ""
+msgstr "Razmik pri razdelitvi glavne osi X [slik. točke]"
 
 #: ../share/extensions/grid_cartesian.inx.h:8
 #, fuzzy
 msgid "Major X Division Thickness [px]"
-msgstr "Debelina črte / slik. točke"
+msgstr "Debelina razreza glavne osi X [slik. točke]"
 
 #: ../share/extensions/grid_cartesian.inx.h:9
+#, fuzzy
 msgid "Major X Divisions"
-msgstr ""
+msgstr "Razdelitev glavne osi X"
 
 #: ../share/extensions/grid_cartesian.inx.h:10
 msgid "Major Y Division Spacing"
-msgstr ""
+msgstr "Razmik pri razdelitvi glavne osi Y"
 
 #: ../share/extensions/grid_cartesian.inx.h:11
-#, fuzzy
 msgid "Major Y Division Thickness [px]"
-msgstr "Debelina črte / slik. točke"
+msgstr "Debelina razreza glavne osi Y [slik. točke]"
 
 #: ../share/extensions/grid_cartesian.inx.h:12
 msgid "Major Y Divisions"
-msgstr ""
+msgstr "Razdelitev glavne osi Y"
 
 #: ../share/extensions/grid_cartesian.inx.h:13
-#, fuzzy
 msgid "Minor X Division Thickness [px]"
-msgstr "Debelina črte / slik. točke"
+msgstr "Debelina razreza drugotne osi X [slik. točke]"
 
 #: ../share/extensions/grid_cartesian.inx.h:14
-#, fuzzy
 msgid "Minor Y Division Thickness [px]"
-msgstr "Debelina črte / slik. točke"
+msgstr "Debelina razreza drugotne osi Y [slik. točke]"
 
 #: ../share/extensions/grid_cartesian.inx.h:16
 msgid "Subdivisions per Major X Division"
@@ -17445,12 +17421,14 @@ msgid "Subsubdivs. per Y Subdivision"
 msgstr ""
 
 #: ../share/extensions/grid_polar.inx.h:1
+#, fuzzy
 msgid "Angle Divisions"
-msgstr ""
+msgstr "Razdelitev kota"
 
 #: ../share/extensions/grid_polar.inx.h:2
+#, fuzzy
 msgid "Angle Divisions at Centre"
-msgstr ""
+msgstr "Razdelitev kota iz središča"
 
 #: ../share/extensions/grid_polar.inx.h:3
 msgid "Centre Dot Diameter [px]"
@@ -18108,7 +18086,6 @@ msgid "Barcode Type:"
 msgstr "Vrsta črtne kode:"
 
 #: ../share/extensions/restack.inx.h:2
-#, fuzzy
 msgid "Arbitrary Angle:"
 msgstr "Arbitrarni kot:"
 
index bd7e918227aa692d58f6a6d493449a9997cb7b0b..5826be693212b944fe56f2d084b4922b8a3f670e 100755 (executable)
@@ -134,21 +134,22 @@ class MyEffect(inkex.Effect):
         for node in self.document.getroot().xpath(path, namespaces=inkex.NSS):
             d = node.get('d')
             sim = simplepath.parsePath(d)
-            simplepath.scalePath(sim,scale,-scale)
-            simplepath.translatePath(sim,0,h*scale)            
-            p = cubicsuperpath.CubicSuperPath(sim)
-            for sub in p:
-                for i in range(len(sub)-1):
-                    # generate unique handle for DXF ENTITY
-                    self.handle += 1
-                    s = sub[i]
-                    e = sub[i+1]
-                    if s[1] == s[2] and e[0] == e[1]:
-                        self.dxf_line([s[1],e[1]])
-                    elif (self.options.ROBO == 'true'):
-                        self.ROBO_spline([s[1],s[2],e[0],e[1]])
-                    else:
-                        self.dxf_spline([s[1],s[2],e[0],e[1]])
+            if len(sim):
+                simplepath.scalePath(sim,scale,-scale)
+                simplepath.translatePath(sim,0,h*scale)            
+                p = cubicsuperpath.CubicSuperPath(sim)
+                for sub in p:
+                    for i in range(len(sub)-1):
+                        # generate unique handle for DXF ENTITY
+                        self.handle += 1
+                        s = sub[i]
+                        e = sub[i+1]
+                        if s[1] == s[2] and e[0] == e[1]:
+                            self.dxf_line([s[1],e[1]])
+                        elif (self.options.ROBO == 'true'):
+                            self.ROBO_spline([s[1],s[2],e[0],e[1]])
+                        else:
+                            self.dxf_spline([s[1],s[2],e[0],e[1]])
         if self.options.ROBO == 'true':
             self.handle += 1
             self.ROBO_output()
index f94456a0c77c7e4d1656e696ca521109d30ec128..f327df2f909da31293ef734efa28a34be0cac1c7 100644 (file)
@@ -29,19 +29,20 @@ class MyEffect(inkex.Effect):
     def output(self):\r
         print ''.join(self.hpgl)\r
     def effect(self):\r
-        path = '//svg:path'
+        path = '//svg:path'\r
         for node in self.document.getroot().xpath(path, namespaces=inkex.NSS):\r
             d = node.get('d')\r
-            p = cubicsuperpath.parsePath(d)\r
-            cspsubdiv.cspsubdiv(p, self.options.flat)\r
-            for sp in p:\r
-                first = True\r
-                for csp in sp:\r
-                    cmd = 'PD'\r
-                    if first:\r
-                        cmd = 'PU'\r
-                    first = False\r
-                    self.hpgl.append('%s%s,%s;' % (cmd,csp[1][0],csp[1][1]))\r
+            if len(simplepath.parsePath(d)):\r
+                p = cubicsuperpath.parsePath(d)\r
+                cspsubdiv.cspsubdiv(p, self.options.flat)\r
+                for sp in p:\r
+                    first = True\r
+                    for csp in sp:\r
+                        cmd = 'PD'\r
+                        if first:\r
+                            cmd = 'PU'\r
+                        first = False\r
+                        self.hpgl.append('%s%s,%s;' % (cmd,csp[1][0],csp[1][1]))\r
 \r
 e = MyEffect()\r
-e.affect()
\ No newline at end of file
+e.affect()\r
index 0622516ff369a2b8d898bd5242f9816a8731b601..6c004ca1557c1d92218bdfcb85b8454a50adab55 100644 (file)
@@ -1,6 +1,46 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:version="0.46+devel" sodipodi:docname="icons.svg" height="1000.0000pt" width="1000.0000pt" sodipodi:version="0.32" id="svg1" inkscape:output_extension="org.inkscape.output.svg.inkscape">
 <defs id="defs3">
+<linearGradient inkscape:collect="always" id="linearGradient7836">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7838" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7840" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7828">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7830" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7832" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7820">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7822" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7824" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7812">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7814" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7816" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7804">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7806" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7808" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7796">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7798" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7800" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7788">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7790" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7792" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7780">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7782" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7784" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7772">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7774" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7776" />
+</linearGradient>
+<linearGradient inkscape:collect="always" id="linearGradient7716">
+<stop style="stop-color:#000000;stop-opacity:1;" offset="0" id="stop7718" />
+<stop style="stop-color:#000000;stop-opacity:0;" offset="1" id="stop7720" />
+</linearGradient>
 <linearGradient inkscape:collect="always" id="linearGradient5602">
 <stop style="stop-color:#cccccc;stop-opacity:1" offset="0" id="stop5604" />
 <stop style="stop-color:#000000;stop-opacity:1" offset="1" id="stop5606" />
 <linearGradient inkscape:collect="always" xlink:href="#linearGradient5704" id="linearGradient5857" gradientUnits="userSpaceOnUse" x1="31.372471" y1="132.94643" x2="36.186733" y2="138.5" />
 <linearGradient inkscape:collect="always" xlink:href="#linearGradient3480" id="linearGradient5859" gradientUnits="userSpaceOnUse" gradientTransform="translate(-1.5,7.5244)" x1="34.519402" y1="137.51648" x2="42.183006" y2="137.47379" />
 <linearGradient inkscape:collect="always" xlink:href="#linearGradient5204" id="linearGradient5861" gradientUnits="userSpaceOnUse" x1="13.479776" y1="86.265739" x2="17.629627" y2="92.007393" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7716" id="radialGradient7722" cx="373.9964" cy="138.4813" fx="373.9964" fy="138.4813" r="1.507797" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7772" id="radialGradient7778" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7780" id="radialGradient7786" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7788" id="radialGradient7794" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7796" id="radialGradient7802" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7804" id="radialGradient7810" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7812" id="radialGradient7818" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7820" id="radialGradient7826" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7828" id="radialGradient7834" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
+<radialGradient inkscape:collect="always" xlink:href="#linearGradient7836" id="radialGradient7842" cx="375.0941" cy="137.9821" fx="375.0941" fy="137.9821" r="1.111868" gradientUnits="userSpaceOnUse" />
 </defs>
-<sodipodi:namedview inkscape:guide-bbox="true" inkscape:current-layer="svg1" inkscape:grid-bbox="true" inkscape:pageopacity="1.0000000" pagecolor="#e8e8e4" snaptoguides="true" showguides="true" inkscape:window-y="0" inkscape:window-x="0" inkscape:window-height="1000" inkscape:window-width="1225" inkscape:cy="757.6901" inkscape:cx="526.0209" inkscape:zoom="0.8986804" gridtolerance="6" snaptogrid="false" showgrid="true" id="base" inkscape:document-units="px" inkscape:grid-points="true" guidetolerance="8" fill="#8ab3de" stroke="#646464" inkscape:object-nodes="true" objecttolerance="11" inkscape:snap-bbox="false" inkscape:snap-nodes="true" inkscape:bbox-nodes="true" inkscape:bbox-paths="true" inkscape:snap-global="true">
+<sodipodi:namedview inkscape:guide-bbox="true" inkscape:current-layer="g5078" inkscape:grid-bbox="true" inkscape:pageopacity="1.0000000" pagecolor="#e8e8e4" snaptoguides="true" showguides="true" inkscape:window-y="0" inkscape:window-x="0" inkscape:window-height="1000" inkscape:window-width="1225" inkscape:cy="1067.296" inkscape:cx="387.9922" inkscape:zoom="2.567223" gridtolerance="6" snaptogrid="false" showgrid="true" id="base" inkscape:document-units="px" inkscape:grid-points="true" guidetolerance="8" fill="#8ab3de" stroke="#646464" inkscape:object-nodes="true" objecttolerance="11" inkscape:snap-bbox="false" inkscape:snap-nodes="true" inkscape:bbox-nodes="true" inkscape:bbox-paths="true" inkscape:snap-global="true">
 <inkscape:grid type="xygrid" id="grid9252" originx="0px" originy="0px" spacingx="0.5px" spacingy="0.5px" empspacing="2" visible="true" enabled="false" />
 <sodipodi:guide orientation="0,1" position="630.08101,968.02815" id="guide4946" />
 <sodipodi:guide orientation="0,1" position="618.47896,943.93157" id="guide4948" />
@@ -3074,5 +3124,33 @@ http://www.inkscape.org/</dc:description>
 <path inkscape:tile-y0="136.8702" inkscape:tile-x0="373.9822" d="M 376.206,137.9821 C 376.206,138.5959 375.7078,139.094 375.0941,139.094 374.4803,139.094 373.9822,138.5959 373.9822,137.9821 373.9822,137.3684 374.4803,136.8702 375.0941,136.8702 375.7078,136.8702 376.206,137.3684 376.206,137.9821 z" sodipodi:ry="1.111868" sodipodi:rx="1.111868" sodipodi:cy="137.9821" sodipodi:cx="375.0941" id="path5909" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.138679;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" sodipodi:type="arc" transform="matrix(2.176368,0,0,2.176368,-433.9294,-155.2869)" />
 <path transform="matrix(2.176368,0,0,2.176368,-433.3154,-154.7343)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.138679;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="path5911" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 C 376.206,138.5959 375.7078,139.094 375.0941,139.094 374.4803,139.094 373.9822,138.5959 373.9822,137.9821 373.9822,137.3684 374.4803,136.8702 375.0941,136.8702 375.7078,136.8702 376.206,137.3684 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
 </g>
+<rect inkscape:label="#rect5080-7" style="fill:none;stroke:none;stroke-width:1;marker:none;display:inline" id="tweak_blur_mode" width="16" height="16" x="-64.90511" y="221.0282" />
+<g id="g7655" style="fill:#000000" transform="translate(-436.7857,84.59235)">
+<path inkscape:tile-y0="136.8702" inkscape:tile-x0="373.9822" inkscape:tile-h="2.223736" inkscape:tile-w="2.223736" inkscape:tile-cy="137.9821" inkscape:tile-cx="375.0941" d="M 376.206,137.9821 C 376.206,138.5959 375.7078,139.094 375.0941,139.094 374.4803,139.094 373.9822,138.5959 373.9822,137.9821 373.9822,137.3684 374.4803,136.8702 375.0941,136.8702 375.7078,136.8702 376.206,137.3684 376.206,137.9821 z" sodipodi:ry="1.111868" sodipodi:rx="1.111868" sodipodi:cy="137.9821" sodipodi:cx="375.0941" id="path7657" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" sodipodi:type="arc" transform="matrix(1.20571,0,0,1.20571,-78.25832,-27.88514)" />
+<path transform="matrix(1.188922,0,0,1.188922,-63.09951,-25.56857)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7660" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.180543,0,0,1.180543,-57.00309,-21.38516)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7662" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.088184,0,0,1.088184,-22.35986,-5.61394)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7664" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.188915,0,0,1.188915,-69.00487,-25.56775)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7666" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.20571,0,0,1.20571,-66.44314,-27.88514)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7668" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.093412,0,0,1.093412,-36.13602,-6.3353)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7670" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.184974,0,0,1.184974,-70.48049,-15.94187)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7672" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.111722,0,0,1.111722,-37.0964,-14.9165)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7674" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.181829,0,0,1.181829,-69.30058,-21.56258)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7676" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.485788,0,0,1.485788,-180.3604,-63.50353)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7818);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7678" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.485788,0,0,1.485788,-180.3597,-57.44874)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7802);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7680" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.485788,0,0,1.485788,-177.4064,-63.50356)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7826);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7682" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.485788,0,0,1.485788,-174.4526,-63.50354)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7834);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7684" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.485788,0,0,1.485788,-180.3605,-60.47619)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7810);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7686" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.4858,0,0,1.4858,-177.4101,-57.45014)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7794);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7688" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.485788,0,0,1.485788,-174.4524,-60.47613)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7842);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7692" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.492675,0,0,1.492675,-177.0357,-58.39903)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7786);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7694" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.191739,0,0,1.191739,-64.1566,-13.84799)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7696" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.181973,0,0,1.181973,-57.53942,-15.52772)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7698" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.20571,0,0,1.20571,-78.25832,-15.77568)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7700" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.193386,0,0,1.193386,-70.68201,-14.07527)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7702" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.121575,0,0,1.121575,-40.79199,-4.166495)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7704" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(1.20571,0,0,1.20571,-66.44314,-15.77568)" sodipodi:type="arc" style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7706" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+<path transform="matrix(6.75293,0,0,6.75293,-2153.081,-787.2478)" sodipodi:type="arc" style="color:#000000;fill:url(#radialGradient7778);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2773579;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="use7690" sodipodi:cx="375.0941" sodipodi:cy="137.9821" sodipodi:rx="1.111868" sodipodi:ry="1.111868" d="M 376.206,137.9821 A 1.111868,1.111868 0 1 1 373.9822,137.9821 1.111868,1.111868 0 1 1 376.206,137.9821 z" inkscape:tile-x0="373.9822" inkscape:tile-y0="136.8702" />
+</g>
 </g>
 </svg>
index 2d8638818c18868e50997ba962d925af5db99d29..4c63b20dfabee681ebf6f7cc842a05cb0042ccce 100644 (file)
@@ -158,7 +158,6 @@ std::vector<double> roots(Piecewise<SBasis> const &f){
     std::vector<double> result;
     for (unsigned i=0; i<f.size(); i++){
         std::vector<double> rts=roots(f.segs[i]);
-        rts=roots(f.segs[i]);
 
         for (unsigned r=0; r<rts.size(); r++){
             result.push_back(f.mapToDomain(rts[r], i));
@@ -167,6 +166,18 @@ std::vector<double> roots(Piecewise<SBasis> const &f){
     return result;
 }
 
+std::vector<std::vector<double> > multi_roots(Piecewise<SBasis> const &f, std::vector<double> const &values) {
+    std::vector<std::vector<double> > result(values.size());
+    for (unsigned i=0; i<f.size(); i++) {
+        std::vector<std::vector<double> > rts = multi_roots(f.segs[i], values);
+        for(unsigned j=0; j<rts.size(); j++) {
+            for(unsigned r=0; r<rts[j].size(); r++){
+                result[j].push_back(f.mapToDomain(rts[j][r], i));
+            }
+        }
+    }
+    return result;
+}
 
 }
 /*
index 3979643b233216019a53d73827ab84fb303b769b..d25c04bc4cf968f1ab272eb7e46f32998726cf82 100644 (file)
@@ -706,6 +706,8 @@ Piecewise<T> derivative(Piecewise<T> const &a) {
 
 std::vector<double> roots(Piecewise<SBasis> const &f);
 
+std::vector<std::vector<double> >multi_roots(Piecewise<SBasis> const &f, std::vector<double> const &values);
+
 template<typename T>
 Piecewise<T> reverse(Piecewise<T> const &f) {
     Piecewise<T> ret = Piecewise<T>();
index f8ac7a2f7583bc2d7494312ae0099e22bc939e8c..ee1b0d76497507c8368bf7556d0ae1514628bb3a 100644 (file)
@@ -140,6 +140,18 @@ inline Rect unify(Rect const & a, Rect const & b) {
     return Rect(unify(a[X], b[X]), unify(a[Y], b[Y]));
 }
 
+/** Returns the smallest rectangle that encloses both rectangles.
+  * An empty argument is assumed to be an empty rectangle */
+inline boost::optional<Rect> unify(boost::optional<Rect> const & a, boost::optional<Rect> const & b) {
+    if (!a) {
+        return b;
+    } else if (!b) {
+        return a;
+    } else {
+        return unify(*a, *b);
+    }
+}
+
 inline Rect union_list(std::vector<Rect> const &r) {
     if(r.empty()) return Rect(Interval(0,0), Interval(0,0));
     Rect ret = r[0];
index 377238d9265997e8a52d2f9d0a9e5a9dcafb6f87..a7e049defa8dd11aae07f8c0493d6559386b7059 100644 (file)
@@ -70,9 +70,9 @@ bool SBasis::isFinite() const {
 
 std::vector<double> SBasis::valueAndDerivatives(double t, unsigned n) const {
     std::vector<double> ret(n+1);
-    ret.push_back(valueAt(t));
+    ret[0]=valueAt(t);
     SBasis tmp = *this;
-    for(unsigned i = 0; i < n; i++) {
+    for(unsigned i = 1; i < n+1; i++) {
         tmp.derive();
         ret[i] = tmp.valueAt(t);
     }
index 898b095b593751fdc4fbac209e81ea9f94ba5ae5..d21c5c617e9b1a18e8403d30552438c9d378859a 100644 (file)
@@ -84,6 +84,7 @@ class Rotate {
     explicit Rotate(Coord x, Coord y) { Rotate(Point(x, y)); }
     inline operator Matrix() const { return Matrix(vec[X], vec[Y], -vec[Y], vec[X], 0, 0); }
 
+    inline Point vector() const { return vec; }
     inline Coord operator[](Dim2 const dim) const { return vec[dim]; }
     inline Coord operator[](unsigned const dim) const { return vec[dim]; }
     inline bool operator==(Rotate const &o) const { return vec == o.vec; }
index 3a2c09438f2f568c105389668adc9d4a2903926b..548132bdc5b0f626e6efb29230b9ffa20c74dad7 100644 (file)
@@ -51,7 +51,7 @@ static void box3d_update(SPObject *object, SPCtx *ctx, guint flags);
 static Inkscape::XML::Node *box3d_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
 
 static gchar *box3d_description(SPItem *item);
-static NR::Matrix box3d_set_transform(SPItem *item, NR::Matrix const &xform);
+static Geom::Matrix box3d_set_transform(SPItem *item, Geom::Matrix const &xform);
 static void box3d_convert_to_guides(SPItem *item);
 
 static void box3d_ref_changed(SPObject *old_ref, SPObject *ref, SPBox3D *box);
@@ -327,8 +327,8 @@ box3d_position_set (SPBox3D *box)
     }
 }
 
-static NR::Matrix
-box3d_set_transform(SPItem *item, NR::Matrix const &xform)
+static Geom::Matrix
+box3d_set_transform(SPItem *item, Geom::Matrix const &xform)
 {
     SPBox3D *box = SP_BOX3D(item);
 
@@ -363,7 +363,7 @@ box3d_set_transform(SPItem *item, NR::Matrix const &xform)
         persp3d_unset_transforms(transf_persp);
     }
 
-    NR::Matrix ret(NR::transform(xform));
+    Geom::Matrix ret(Geom::Matrix(xform).without_translation());
     gdouble const sw = hypot(ret[0], ret[1]);
     gdouble const sh = hypot(ret[2], ret[3]);
 
@@ -385,7 +385,7 @@ box3d_set_transform(SPItem *item, NR::Matrix const &xform)
         }
     }
 
-    return NR::identity();
+    return Geom::identity();
 }
 
 Proj::Pt3
@@ -491,7 +491,7 @@ box3d_snap (SPBox3D *box, int id, Proj::Pt3 const &pt_proj, Proj::Pt3 const &sta
     // determine the distances to all potential snapping points
     double snap_dists[num_snap_lines];
     for (int i = 0; i < num_snap_lines; ++i) {
-        snap_dists[i] = NR::L2 (snap_pts[i] - pt) * zoom;
+        snap_dists[i] = Geom::L2 (snap_pts[i] - pt) * zoom;
     }
 
     // while we are within a given tolerance of the starting point,
@@ -714,7 +714,7 @@ box3d_XY_axes_are_swapped (SPBox3D *box) {
     v1.normalize();
     v2.normalize();
 
-    return (v1[NR::X]*v2[NR::Y] - v1[NR::Y]*v2[NR::X] > 0);
+    return (v1[Geom::X]*v2[Geom::Y] - v1[Geom::Y]*v2[Geom::X] > 0);
 }
 
 static inline void
@@ -1054,12 +1054,12 @@ box3d_recompute_z_orders (SPBox3D *box) {
         Geom::Point vp_x = persp3d_get_VP(persp, Proj::X).affine();
         Geom::Point vp_y = persp3d_get_VP(persp, Proj::Y).affine();
         Geom::Point vp_z = persp3d_get_VP(persp, Proj::Z).affine();
-        Geom::Point vpx(vp_x[NR::X], vp_x[NR::Y]);
-        Geom::Point vpy(vp_y[NR::X], vp_y[NR::Y]);
-        Geom::Point vpz(vp_z[NR::X], vp_z[NR::Y]);
+        Geom::Point vpx(vp_x[Geom::X], vp_x[Geom::Y]);
+        Geom::Point vpy(vp_y[Geom::X], vp_y[Geom::Y]);
+        Geom::Point vpz(vp_z[Geom::X], vp_z[Geom::Y]);
 
         Geom::Point c3 = box3d_get_corner_screen(box, 3, false);
-        Geom::Point corner3(c3[NR::X], c3[NR::Y]);
+        Geom::Point corner3(c3[Geom::X], c3[Geom::Y]);
 
         if (box3d_half_line_crosses_joining_line (corner3, vpx, vpy, vpz)) {
             central_axis = Box3D::X;
@@ -1081,9 +1081,9 @@ box3d_recompute_z_orders (SPBox3D *box) {
         Geom::Point c2(box3d_get_corner_screen(box, 2, false));
         Geom::Point c7(box3d_get_corner_screen(box, 7, false));
 
-        Geom::Point corner1(c1[NR::X], c1[NR::Y]);
-        Geom::Point corner2(c2[NR::X], c2[NR::Y]);
-        Geom::Point corner7(c7[NR::X], c7[NR::Y]);
+        Geom::Point corner1(c1[Geom::X], c1[Geom::Y]);
+        Geom::Point corner2(c2[Geom::X], c2[Geom::Y]);
+        Geom::Point corner7(c7[Geom::X], c7[Geom::Y]);
         // FIXME: At present we don't use the information about central_corner computed above.
         switch (central_axis) {
             case Box3D::Y:
index a64708332c5b7847a4b52a4ed51d4904262466a8..5a09f87650b97fba1fe1ebe24675772e12bbcb48 100644 (file)
@@ -193,7 +193,7 @@ static Avoid::Polygn avoid_item_poly(SPItem const *item)
     //       by the sp_*_update functions, e.g., text.
     sp_document_ensure_up_to_date(item->document);
     
-    boost::optional<NR::Rect> rHull = item->getBounds(sp_item_i2doc_affine(item));
+    boost::optional<Geom::Rect> rHull = item->getBounds(sp_item_i2doc_affine(item));
     if (!rHull) {
         return Avoid::newPoly(0);
     }
@@ -201,7 +201,8 @@ static Avoid::Polygn avoid_item_poly(SPItem const *item)
     double spacing = desktop->namedview->connector_spacing;
 
     // Add a little buffer around the edge of each object.
-    NR::Rect rExpandedHull = NR::expand(*rHull, -spacing); 
+    Geom::Rect rExpandedHull = *rHull;
+    rExpandedHull.expandBy(-spacing); 
     poly = Avoid::newPoly(4);
 
     for (unsigned n = 0; n < 4; ++n) {
@@ -238,7 +239,7 @@ GSList *get_avoided_items(GSList *list, SPObject *from, SPDesktop *desktop,
 }
 
 
-void avoid_item_move(NR::Matrix const */*mp*/, SPItem *moved_item)
+void avoid_item_move(Geom::Matrix const */*mp*/, SPItem *moved_item)
 {
     Avoid::ShapeRef *shapeRef = moved_item->avoidRef->shapeRef;
     g_assert(shapeRef);
index cd6b60542f7004bfa16123ce3237308f867dd0fc..d34d8ca2e644be593e20589368326718dd51598a 100644 (file)
@@ -52,7 +52,7 @@ private:
 
 extern GSList *get_avoided_items(GSList *list, SPObject *from,
         SPDesktop *desktop, bool initialised = true);
-extern void avoid_item_move(NR::Matrix const *mp, SPItem *moved_item);
+extern void avoid_item_move(Geom::Matrix const *mp, SPItem *moved_item);
 extern void init_avoided_shape_geometry(SPDesktop *desktop);
 
 static const double defaultConnSpacing = 3.0;
index c982a8c89d527856a8ad24835d257aa32eeb8533..527ba720f97a087043c6b2b335cfd98c7a341028 100644 (file)
@@ -1148,9 +1148,9 @@ static void cc_set_active_shape(SPConnectorContext *cc, SPItem *item)
     }
 
 
-    boost::optional<NR::Rect> bbox = sp_item_bbox_desktop(cc->active_shape);
+    boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop(cc->active_shape);
     if (bbox) {
-        NR::Point center = bbox->midpoint();
+        Geom::Point center = bbox->midpoint();
         sp_knot_set_position(cc->connpthandle, center, 0);
         sp_knot_show(cc->connpthandle);
     } else {
index 004a0116eed4971c277fe942a7883ad810e18493..eb4a5041056a65dc8281b3726ed1d3409ccda039 100644 (file)
@@ -156,7 +156,7 @@ SPDesktop::SPDesktop() :
     _active( false ),
     _w2d(),
     _d2w(),
-    _doc2dt( NR::Matrix(NR::scale(1, -1)) ),
+    _doc2dt( NR::Matrix(Geom::Scale(1, -1)) ),
     grids_visible( false )
 {
     _d2w.setIdentity();
@@ -534,9 +534,9 @@ bool SPDesktop::isLayer(SPObject *object) const {
 bool SPDesktop::isWithinViewport (SPItem *item) const
 {
     Geom::Rect const viewport = get_display_area();
-    boost::optional<NR::Rect> const bbox = sp_item_bbox_desktop(item);
+    boost::optional<Geom::Rect> const bbox = sp_item_bbox_desktop(item);
     if (bbox) {
-        return viewport.contains(to_2geom(*bbox));
+        return viewport.contains(*bbox);
     } else {
         return true;
     }
@@ -773,8 +773,8 @@ 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(NR::scale(newscale, -newscale));
-        _w2d = NR::Matrix(NR::scale(1/newscale, 1/-newscale));
+        _d2w = NR::Matrix(Geom::Scale(newscale, -newscale));
+        _w2d = NR::Matrix(Geom::Scale(1/newscale, 1/-newscale));
         sp_canvas_item_affine_absolute(SP_CANVAS_ITEM(main), _d2w);
         clear = TRUE;
     }
@@ -939,7 +939,7 @@ SPDesktop::zoom_quick (bool enable)
                }
 
                if (!zoomed) {
-                       boost::optional<Geom::Rect> const d = selection->bounds_2geom();
+                       boost::optional<Geom::Rect> const d = selection->bounds();
                        if (d && !d->isEmpty() && d->area() * 2.0 < _quick_zoom_stored_area.area()) {
                                set_display_area(*d, 10);
                                zoomed = true;
@@ -1072,7 +1072,7 @@ SPDesktop::zoom_page_width()
 void
 SPDesktop::zoom_selection()
 {
-    boost::optional<Geom::Rect> const d = to_2geom(selection->bounds());
+    boost::optional<Geom::Rect> const d = selection->bounds();
 
     // FIXME: the original NR::Rect::isEmpty call contained an additional threshold of 0.1; is it safe to ignore it?
     if ( !d || d->isEmpty() ) {
@@ -1101,7 +1101,7 @@ SPDesktop::zoom_drawing()
     SPItem *docitem = SP_ITEM (sp_document_root (doc()));
     g_return_if_fail (docitem != NULL);
 
-    boost::optional<Geom::Rect> d = to_2geom(sp_item_bbox_desktop(docitem));
+    boost::optional<Geom::Rect> d = sp_item_bbox_desktop(docitem);
 
     /* Note that the second condition here indicates that
     ** there are no items in the drawing.
index 1094571f56f2b91ffcab152639e63d2904e89973..c27c2b666f07f995e840933ab3381c2e564f629c 100644 (file)
@@ -896,10 +896,10 @@ clonetiler_trace_pick (NR::Rect box)
     if (!trace_arena)
         return 0;
 
-    NR::Matrix t(NR::scale(trace_zoom, trace_zoom));
+    Geom::Matrix t(Geom::Scale(trace_zoom, trace_zoom));
     nr_arena_item_set_transform(trace_root, &t);
     NRGC gc(NULL);
-    gc.transform.set_identity();
+    gc.transform.setIdentity();
     nr_arena_item_invoke_update( trace_root, NULL, &gc,
                                  NR_ARENA_ITEM_STATE_ALL,
                                  NR_ARENA_ITEM_STATE_NONE );
@@ -1248,13 +1248,13 @@ clonetiler_apply( GtkWidget */*widget*/, void * )
         bool prefs_bbox = prefs->getBool("tools", "bounding_box", false);
         SPItem::BBoxType bbox_type = ( prefs_bbox ? 
             SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX );
-        boost::optional<NR::Rect> r = SP_ITEM(obj)->getBounds(sp_item_i2doc_affine(SP_ITEM(obj)),
+        boost::optional<Geom::Rect> r = SP_ITEM(obj)->getBounds(sp_item_i2doc_affine(SP_ITEM(obj)),
                                                         bbox_type);
         if (r) {
-            w = r->dimensions()[NR::X];
-            h = r->dimensions()[NR::Y];
-            x0 = r->min()[NR::X];
-            y0 = r->min()[NR::Y];
+            w = r->dimensions()[Geom::X];
+            h = r->dimensions()[Geom::Y];
+            x0 = r->min()[Geom::X];
+            y0 = r->min()[Geom::Y];
             center = desktop->dt2doc(SP_ITEM(obj)->getCenter());
 
             sp_repr_set_svg_double(obj_repr, "inkscape:tile-cx", center[Geom::X]);
index 5e23f0656f2613eb2562796a2cd34376bd3b3f9d..816a5075458ffac21f2df66e264a1676d1ca5b2f 100644 (file)
@@ -778,7 +778,7 @@ sp_export_selection_modified ( Inkscape::Application */*inkscape*/,
             if ( SP_ACTIVE_DESKTOP ) {
                 SPDocument *doc;
                 doc = sp_desktop_document (SP_ACTIVE_DESKTOP);
-                boost::optional<Geom::Rect> bbox = to_2geom(sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc))));
+                boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc)));
                 if (bbox) {
                     sp_export_set_area (base, bbox->min()[Geom::X],
                                               bbox->min()[Geom::Y],
@@ -847,7 +847,7 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
             case SELECTION_SELECTION:
                 if ((sp_desktop_selection(SP_ACTIVE_DESKTOP))->isEmpty() == false)
                 {
-                    bbox = to_2geom((sp_desktop_selection (SP_ACTIVE_DESKTOP))->bounds());
+                    bbox = sp_desktop_selection (SP_ACTIVE_DESKTOP)->bounds();
                     /* Only if there is a selection that we can set
                        do we break, otherwise we fall through to the
                        drawing */
@@ -859,7 +859,7 @@ sp_export_area_toggled (GtkToggleButton *tb, GtkObject *base)
                 /** \todo
                  * This returns wrong values if the document has a viewBox.
                  */
-                bbox = to_2geom(sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc))));
+                bbox = sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc)));
                 /* If the drawing is valid, then we'll use it and break
                    otherwise we drop through to the page settings */
                 if (bbox) {
@@ -1407,7 +1407,7 @@ sp_export_detect_size(GtkObject * base) {
         switch (this_test[i]) {
             case SELECTION_SELECTION:
                 if ((sp_desktop_selection(SP_ACTIVE_DESKTOP))->isEmpty() == false) {
-                    boost::optional<Geom::Rect> bbox = to_2geom((sp_desktop_selection (SP_ACTIVE_DESKTOP))->bounds());
+                    boost::optional<Geom::Rect> bbox = (sp_desktop_selection (SP_ACTIVE_DESKTOP))->bounds();
 
                     //std::cout << "Selection " << bbox;
                     if ( bbox && sp_export_bbox_equal(*bbox,current_bbox)) {
@@ -1418,7 +1418,7 @@ sp_export_detect_size(GtkObject * base) {
             case SELECTION_DRAWING: {
                 SPDocument *doc = sp_desktop_document (SP_ACTIVE_DESKTOP);
 
-                boost::optional<Geom::Rect> bbox = to_2geom(sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc))));
+                boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop (SP_ITEM (SP_DOCUMENT_ROOT (doc)));
 
                 // std::cout << "Drawing " << bbox2;
                 if ( bbox && sp_export_bbox_equal(*bbox,current_bbox) ) {
index c41d8ccb48615e50481d740bfd3c48812892ead7..a8c55f9def3b9fe03571311a4a528adcf41a88f5 100644 (file)
@@ -88,6 +88,17 @@ static gboolean layers_panel_activated( GtkObject */*object*/, GdkEvent * /*even
     return FALSE;
 }
 
+static gboolean layers_panel_deactivated( GtkObject */*object*/, GdkEvent * /*event*/, gpointer data )
+{
+    if ( data )
+    {
+        LayersPanel* panel = reinterpret_cast<LayersPanel*>(data);
+        panel->setDesktop(NULL);
+    }
+
+    return FALSE;
+}
+
 
 void LayersPanel::_styleButton( Gtk::Button& btn, SPDesktop *desktop, unsigned int code, char const* iconName, char const* fallback )
 {
@@ -710,6 +721,7 @@ LayersPanel::LayersPanel() :
     }
 
     g_signal_connect( G_OBJECT(INKSCAPE), "activate_desktop", G_CALLBACK( layers_panel_activated ), this );
+    g_signal_connect( G_OBJECT(INKSCAPE), "deactivate_desktop", G_CALLBACK( layers_panel_deactivated ), this );
     setDesktop( targetDesktop );
 
     show_all_children();
@@ -719,6 +731,8 @@ LayersPanel::LayersPanel() :
 
 LayersPanel::~LayersPanel()
 {
+    setDesktop(NULL);
+
     _compositeSettings.setSubject(NULL);
 
     if ( _model )
index fe621e4f148feaedf82573afc15b7c1c5308a21a..00e3082782e33edb89e4637fad80a5150c23c7a9 100644 (file)
@@ -592,7 +592,7 @@ sp_marker_prev_new(unsigned psize, gchar const *mname,
 
     // Find object's bbox in document
     Geom::Matrix const i2doc(sp_item_i2doc_affine(SP_ITEM(object)));
-    boost::optional<NR::Rect> dbox = SP_ITEM(object)->getBounds(i2doc);
+    boost::optional<Geom::Rect> dbox = SP_ITEM(object)->getBounds(i2doc);
 
     if (!dbox) {
         return NULL;
@@ -608,7 +608,7 @@ sp_marker_prev_new(unsigned psize, gchar const *mname,
     Glib::RefPtr<Gdk::Pixbuf> pixbuf = Glib::wrap(svg_preview_cache.get_preview_from_cache(key));
 
     if (!pixbuf) {
-        pixbuf = Glib::wrap(render_pixbuf(root, sf, to_2geom(*dbox), psize));
+        pixbuf = Glib::wrap(render_pixbuf(root, sf, *dbox, psize));
         svg_preview_cache.set_preview_in_cache(key, pixbuf->gobj());
     }
 
index 99919d127f9822bde8b873d2d020172f2d6bb14d..1643057e88b3ee8f3cb997aa5ea3d5705324cfcc 100644 (file)
@@ -48,8 +48,8 @@ sp_compare_x_position(SPItem *first, SPItem *second)
     using Geom::X;
     using Geom::Y;
 
-    boost::optional<Geom::Rect> a = to_2geom(first->getBounds(sp_item_i2doc_affine(first)));
-    boost::optional<Geom::Rect> b = to_2geom(second->getBounds(sp_item_i2doc_affine(second)));
+    boost::optional<Geom::Rect> a = first->getBounds(sp_item_i2doc_affine(first));
+    boost::optional<Geom::Rect> b = second->getBounds(sp_item_i2doc_affine(second));
 
     if ( !a || !b ) {
         // FIXME?
@@ -88,8 +88,8 @@ sp_compare_x_position(SPItem *first, SPItem *second)
 int
 sp_compare_y_position(SPItem *first, SPItem *second)
 {
-    boost::optional<Geom::Rect> a = to_2geom(first->getBounds(sp_item_i2doc_affine(first)));
-    boost::optional<Geom::Rect> b = to_2geom(second->getBounds(sp_item_i2doc_affine(second)));
+    boost::optional<Geom::Rect> a = first->getBounds(sp_item_i2doc_affine(first));
+    boost::optional<Geom::Rect> b = second->getBounds(sp_item_i2doc_affine(second));
 
     if ( !a || !b ) {
         // FIXME?
@@ -168,7 +168,7 @@ void TileDialog::Grid_Arrange ()
     cnt=0;
     for (; items != NULL; items = items->next) {
         SPItem *item = SP_ITEM(items->data);
-        boost::optional<Geom::Rect> b = to_2geom(item->getBounds(sp_item_i2doc_affine(item)));
+        boost::optional<Geom::Rect> b = item->getBounds(sp_item_i2doc_affine(item));
         if (!b) {
             continue;
         }
@@ -210,7 +210,7 @@ void TileDialog::Grid_Arrange ()
         const GSList *sizes = sorted;
         for (; sizes != NULL; sizes = sizes->next) {
             SPItem *item = SP_ITEM(sizes->data);
-            boost::optional<Geom::Rect> b = to_2geom(item->getBounds(sp_item_i2doc_affine(item)));
+            boost::optional<Geom::Rect> b = item->getBounds(sp_item_i2doc_affine(item));
             if (b) {
                 width = b->dimensions()[Geom::X];
                 height = b->dimensions()[Geom::Y];
@@ -267,7 +267,7 @@ void TileDialog::Grid_Arrange ()
     }
 
 
-    boost::optional<Geom::Rect> sel_bbox = to_2geom(selection->bounds());
+    boost::optional<Geom::Rect> sel_bbox = selection->bounds();
     // Fit to bbox, calculate padding between rows accordingly.
     if ( sel_bbox && !SpaceManualRadioButton.get_active() ){
 #ifdef DEBUG_GRID_ARRANGE
@@ -317,7 +317,7 @@ g_print("\n row = %f     col = %f selection x= %f selection y = %f", total_row_h
              for (; current_row != NULL; current_row = current_row->next) {
                  SPItem *item=SP_ITEM(current_row->data);
                  Inkscape::XML::Node *repr = SP_OBJECT_REPR(item);
-                 boost::optional<Geom::Rect> b = to_2geom(item->getBounds(sp_item_i2doc_affine(item)));
+                 boost::optional<Geom::Rect> b = item->getBounds(sp_item_i2doc_affine(item));
                  Geom::Point min;
                  if (b) {
                      width = b->dimensions()[Geom::X];
@@ -345,11 +345,8 @@ g_print("\n row = %f     col = %f selection x= %f selection y = %f", total_row_h
              g_slist_free (current_row);
     }
 
-    NRRect b;
-            selection->bounds(&b);
-
-            sp_document_done (sp_desktop_document (desktop), SP_VERB_SELECTION_GRIDTILE, 
-                              _("Arrange in a grid"));
+    sp_document_done (sp_desktop_document (desktop), SP_VERB_SELECTION_GRIDTILE, 
+                      _("Arrange in a grid"));
 
 }
 
index 9e4fce1e7770f7c66a264855fade9d639e4a939c..1329fdb5f14ff8bebb090248f2472515db68f2f4 100644 (file)
@@ -35,7 +35,7 @@ unclump_center (SPItem *item)
         return i->second;
     }
 
-    boost::optional<Geom::Rect> r = to_2geom(item->getBounds(sp_item_i2d_affine(item)));
+    boost::optional<Geom::Rect> r = item->getBounds(sp_item_i2d_affine(item));
     if (r) {
        Geom::Point const c = r->midpoint();
        c_cache[SP_OBJECT_ID(item)] = c;
@@ -54,7 +54,7 @@ unclump_wh (SPItem *item)
     if ( i != wh_cache.end() ) {
         wh = i->second;
     } else {
-        boost::optional<Geom::Rect> r = to_2geom(item->getBounds(sp_item_i2d_affine(item)));
+        boost::optional<Geom::Rect> r = item->getBounds(sp_item_i2d_affine(item));
        if (r) {
             wh = r->dimensions();
             wh_cache[SP_OBJECT_ID(item)] = wh;
index 8342ff7ff4bdbb57d344f39f886e200d2b8add26..1900ed961b92abfc67a2dff92352ef6b3f843b5a 100644 (file)
@@ -160,7 +160,7 @@ sp_canvas_bpath_render (SPCanvasItem *item, SPCanvasBuf *buf)
 
     sp_canvas_prepare_buffer(buf);
 
-    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 ( !cbp->curve  || 
          ((cbp->stroke_rgba & 0xff) == 0 && (cbp->fill_rgba & 0xff) == 0 ) || 
index 52ffe4f5b9a4b73acc2dc034ec260e5f179e5c66..5a1e2abebcd7f2975f1581895a67391c636cb596 100644 (file)
@@ -200,6 +200,7 @@ SPCurve::moveto(gdouble x, gdouble y)
 }
 /**
  * Perform a moveto to a point, thus starting a new subpath.
+ * Point p must be finite.
  */
 void
 SPCurve::moveto(Geom::Point const &p)
@@ -209,16 +210,17 @@ SPCurve::moveto(Geom::Point const &p)
 }
 
 /**
- * Calls SPCurve::lineto() with a point's coordinates.
+ * Adds a line to the current subpath.
+ * Point p must be finite.
  */
 void
 SPCurve::lineto(Geom::Point const &p)
 {
-    if (_pathv.empty())  g_message("SPCurve::lineto path is empty!");
+    if (_pathv.empty())  g_message("SPCurve::lineto path is empty!");
     else _pathv.back().appendNew<Geom::LineSegment>( p );
 }
 /**
- * Adds a line to the current subpath.
+ * Calls SPCurve::lineto( Geom::Point(x,y) )
  */
 void
 SPCurve::lineto(gdouble x, gdouble y)
@@ -227,16 +229,38 @@ SPCurve::lineto(gdouble x, gdouble y)
 }
 
 /**
- * Calls SPCurve::curveto() with coordinates of three points.
+ * Adds a quadratic bezier segment to the current subpath.
+ * All points must be finite.
+ */
+void
+SPCurve::quadto(Geom::Point const &p1, Geom::Point const &p2)
+{
+    if (_pathv.empty())  g_message("SPCurve::quadto - path is empty!");
+    else _pathv.back().appendNew<Geom::QuadraticBezier>( p1, p2);
+}
+/**
+ * Calls SPCurve::quadto( Geom::Point(x1,y1), Geom::Point(x2,y2) )
+ * All coordinates must be finite.
+ */
+void
+SPCurve::quadto(gdouble x1, gdouble y1, gdouble x2, gdouble y2)
+{
+    quadto( Geom::Point(x1,y1), Geom::Point(x2,y2) );
+}
+
+/**
+ * Adds a bezier segment to the current subpath.
+ * All points must be finite.
  */
 void
 SPCurve::curveto(Geom::Point const &p0, Geom::Point const &p1, Geom::Point const &p2)
 {
-    if (_pathv.empty())  g_message("SPCurve::lineto path is empty!");
+    if (_pathv.empty())  g_message("SPCurve::curveto - path is empty!");
     else _pathv.back().appendNew<Geom::CubicBezier>( p0, p1, p2 );
 }
 /**
- * Adds a bezier segment to the current subpath.
+ * Calls SPCurve::curveto( Geom::Point(x0,y0), Geom::Point(x1,y1), Geom::Point(x2,y2) )
+ * All coordinates must be finite.
  */
 void
 SPCurve::curveto(gdouble x0, gdouble y0, gdouble x1, gdouble y1, gdouble x2, gdouble y2)
index 1b09c8c6e5e6f4d5146d1e0ec8ea5d796e22de0f..79a385b09f2a9e5eee526e8e6a269b10077d90b8 100644 (file)
@@ -59,6 +59,8 @@ public:
     void moveto(gdouble x, gdouble y);
     void lineto(Geom::Point const &p);
     void lineto(gdouble x, gdouble y);
+    void quadto(Geom::Point const &p1, Geom::Point const &p2);
+    void quadto(gdouble x1, gdouble y1, gdouble x2, gdouble y2);
     void curveto(Geom::Point const &p0, Geom::Point const &p1, Geom::Point const &p2);
     void curveto(gdouble x0, gdouble y0, gdouble x1, gdouble y1, gdouble x2, gdouble y2);
     void closepath();
index 2ef726aab98905fd8497a65390a4b1546e170cba..54f979f374791d17d17f57a0e434da33106c6ec0 100644 (file)
@@ -170,7 +170,7 @@ feed_path_to_cairo (cairo_t *ct, Geom::Path const &path)
 
 /** Feeds path-creating calls to the cairo context translating them from the Path, with the given transform and shift */
 static void
-feed_path_to_cairo (cairo_t *ct, Geom::Path const &path, Geom::Matrix trans, boost::optional<NR::Rect> area, bool optimize_stroke, double stroke_width)
+feed_path_to_cairo (cairo_t *ct, Geom::Path const &path, Geom::Matrix trans, boost::optional<Geom::Rect> area, bool optimize_stroke, double stroke_width)
 {
     if (!area || area->isEmpty())
         return;
@@ -179,9 +179,9 @@ feed_path_to_cairo (cairo_t *ct, Geom::Path const &path, Geom::Matrix trans, boo
 
     // Transform all coordinates to coords within "area"
     Geom::Point shift = area->min();
-    NR::Rect view = *area;
-    view.growBy (stroke_width);
-    view = view * (NR::Matrix)Geom::Translate(-shift);
+    Geom::Rect view = *area;
+    view.expandBy (stroke_width);
+    view = view * (Geom::Matrix)Geom::Translate(-shift);
     //  Pass transformation to feed_curve, so that we don't need to create a whole new path.
     Geom::Matrix transshift(trans * Geom::Translate(-shift));
 
@@ -189,7 +189,7 @@ feed_path_to_cairo (cairo_t *ct, Geom::Path const &path, Geom::Matrix trans, boo
     cairo_move_to(ct, initial[0], initial[1] );
 
     for(Geom::Path::const_iterator cit = path.begin(); cit != path.end_open(); ++cit) {
-        feed_curve_to_cairo(ct, *cit, transshift, to_2geom(view), optimize_stroke);
+        feed_curve_to_cairo(ct, *cit, transshift, view, optimize_stroke);
     }
 
     if (path.closed()) {
@@ -214,7 +214,7 @@ feed_path_to_cairo (cairo_t *ct, Geom::Path const &path, Geom::Matrix trans, boo
 /** Feeds path-creating calls to the cairo context translating them from the PathVector, with the given transform and shift
  *  One must have done cairo_new_path(ct); before calling this function. */
 void
-feed_pathvector_to_cairo (cairo_t *ct, Geom::PathVector const &pathv, Geom::Matrix trans, boost::optional<NR::Rect> area, bool optimize_stroke, double stroke_width)
+feed_pathvector_to_cairo (cairo_t *ct, Geom::PathVector const &pathv, Geom::Matrix trans, boost::optional<Geom::Rect> area, bool optimize_stroke, double stroke_width)
 {
     if (!area || area->isEmpty())
         return;
index f3be94464acaddc331aa6ebd1eb5da4d74ea3e6a..4a9c15ae30a162b6e595f1cbbfe54cf66735ea66 100644 (file)
@@ -21,7 +21,7 @@ class SPCanvasBuf;
 
 cairo_t *nr_create_cairo_context_canvasbuf (NRRectL *area, SPCanvasBuf *b);
 cairo_t *nr_create_cairo_context (NRRectL *area, NRPixBlock *pb);
-void feed_pathvector_to_cairo (cairo_t *ct, Geom::PathVector const &pathv, Geom::Matrix trans, boost::optional<NR::Rect> area, bool optimize_stroke, double stroke_width);
+void feed_pathvector_to_cairo (cairo_t *ct, Geom::PathVector const &pathv, Geom::Matrix trans, boost::optional<Geom::Rect> area, bool optimize_stroke, double stroke_width);
 void feed_pathvector_to_cairo (cairo_t *ct, Geom::PathVector const &pathv);
 
 #endif
index 6bb64f8d09c6b8575a9485328f374c2fed98e3b5..5f20d077a22a38c2cec96a0cfa0cabd5c212219b 100644 (file)
@@ -47,7 +47,7 @@ static void nr_arena_glyphs_finalize(NRObject *object);
 
 static guint nr_arena_glyphs_update(NRArenaItem *item, NRRectL *area, NRGC *gc, guint state, guint reset);
 static guint nr_arena_glyphs_clip(NRArenaItem *item, NRRectL *area, NRPixBlock *pb);
-static NRArenaItem *nr_arena_glyphs_pick(NRArenaItem *item, NR::Point p, double delta, unsigned int sticky);
+static NRArenaItem *nr_arena_glyphs_pick(NRArenaItem *item, Geom::Point p, double delta, unsigned int sticky);
 
 static NRArenaItemClass *glyphs_parent_class;
 
@@ -145,8 +145,8 @@ nr_arena_glyphs_update(NRArenaItem *item, NRRectL */*area*/, NRGC *gc, guint /*s
     float const scale = NR::expansion(gc->transform);
 
     if (!glyphs->style->fill.isNone()) {
-        NR::Matrix t;
-        t = glyphs->g_transform * gc->transform;
+        Geom::Matrix t;
+        t = to_2geom(glyphs->g_transform) * gc->transform;
         glyphs->x = t[4];
         glyphs->y = t[5];
         t[4]=0;
@@ -167,8 +167,8 @@ nr_arena_glyphs_update(NRArenaItem *item, NRRectL */*area*/, NRGC *gc, guint /*s
 
     if (!glyphs->style->stroke.isNone()) {
         /* Build state data */
-        NR::Matrix t;
-        t = glyphs->g_transform * gc->transform;
+        Geom::Matrix t;
+        t = to_2geom(glyphs->g_transform) * gc->transform;
         glyphs->x = t[4];
         glyphs->y = t[5];
         t[4]=0;
@@ -237,7 +237,7 @@ nr_arena_glyphs_clip(NRArenaItem *item, NRRectL */*area*/, NRPixBlock */*pb*/)
 }
 
 static NRArenaItem *
-nr_arena_glyphs_pick(NRArenaItem *item, NR::Point p, gdouble /*delta*/, unsigned int /*sticky*/)
+nr_arena_glyphs_pick(NRArenaItem *item, Geom::Point p, gdouble /*delta*/, unsigned int /*sticky*/)
 {
     NRArenaGlyphs *glyphs;
 
@@ -246,8 +246,8 @@ nr_arena_glyphs_pick(NRArenaItem *item, NR::Point p, gdouble /*delta*/, unsigned
     if (!glyphs->font ) return NULL;
     if (!glyphs->style) return NULL;
 
-    double const x = p[NR::X];
-    double const y = p[NR::Y];
+    double const x = p[Geom::X];
+    double const y = p[Geom::Y];
     /* With text we take a simple approach: pick if the point is in a characher bbox */
     if ((x >= item->bbox.x0) && (y >= item->bbox.y0) && (x <= item->bbox.x1) && (y <= item->bbox.y1)) return item;
 
@@ -323,7 +323,7 @@ static void nr_arena_glyphs_group_finalize(NRObject *object);
 static guint nr_arena_glyphs_group_update(NRArenaItem *item, NRRectL *area, NRGC *gc, guint state, guint reset);
 static unsigned int nr_arena_glyphs_group_render(cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock *pb, unsigned int flags);
 static unsigned int nr_arena_glyphs_group_clip(NRArenaItem *item, NRRectL *area, NRPixBlock *pb);
-static NRArenaItem *nr_arena_glyphs_group_pick(NRArenaItem *item, NR::Point p, gdouble delta, unsigned int sticky);
+static NRArenaItem *nr_arena_glyphs_group_pick(NRArenaItem *item, Geom::Point p, gdouble delta, unsigned int sticky);
 
 static NRArenaGroupClass *group_parent_class;
 
@@ -465,8 +465,8 @@ nr_arena_glyphs_group_render(cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPi
             Geom::PathVector const * pathv = g->font->PathVector(g->glyph);
 
             cairo_new_path(ct);
-            Geom::Matrix transform = g->g_transform * group->ctm;
-            feed_pathvector_to_cairo (ct, *pathv, transform, (pb->area).upgrade(), false, 0);
+            Geom::Matrix transform = to_2geom(g->g_transform) * group->ctm;
+            feed_pathvector_to_cairo (ct, *pathv, transform, to_2geom((pb->area).upgrade()), false, 0);
             cairo_fill(ct);
             pb->empty = FALSE;
         }
@@ -582,7 +582,7 @@ nr_arena_glyphs_group_clip(NRArenaItem *item, NRRectL *area, NRPixBlock *pb)
 }
 
 static NRArenaItem *
-nr_arena_glyphs_group_pick(NRArenaItem *item, NR::Point p, gdouble delta, unsigned int sticky)
+nr_arena_glyphs_group_pick(NRArenaItem *item, Geom::Point p, gdouble delta, unsigned int sticky)
 {
     NRArenaItem *picked = NULL;
 
index 716a9f9fd3dd254cda0a77fa7ad4b71c10831b47..8b388aa40c3a01af4cce7274b0a7fbb76b50198b 100644 (file)
@@ -24,6 +24,7 @@
 #include "display/nr-filter-blend.h"
 #include "libnr/nr-matrix-fns.h"
 #include "libnr/nr-matrix-ops.h"
+#include "helper/geom.h"
 
 static void nr_arena_group_class_init (NRArenaGroupClass *klass);
 static void nr_arena_group_init (NRArenaGroup *group);
@@ -37,7 +38,7 @@ static void nr_arena_group_set_child_position (NRArenaItem *item, NRArenaItem *c
 static unsigned int nr_arena_group_update (NRArenaItem *item, NRRectL *area, NRGC *gc, unsigned int state, unsigned int reset);
 static unsigned int nr_arena_group_render (cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock *pb, unsigned int flags);
 static unsigned int nr_arena_group_clip (NRArenaItem *item, NRRectL *area, NRPixBlock *pb);
-static NRArenaItem *nr_arena_group_pick (NRArenaItem *item, NR::Point p, double delta, unsigned int sticky);
+static NRArenaItem *nr_arena_group_pick (NRArenaItem *item, Geom::Point p, double delta, unsigned int sticky);
 
 static NRArenaItemClass *parent_class;
 
@@ -87,7 +88,7 @@ nr_arena_group_init (NRArenaGroup *group)
     group->children = NULL;
     group->last = NULL;
     group->style = NULL;
-    group->child_transform.set_identity();
+    group->child_transform.setIdentity();
 }
 
 static NRArenaItem *
@@ -250,7 +251,7 @@ nr_arena_group_clip (NRArenaItem *item, NRRectL *area, NRPixBlock *pb)
 }
 
 static NRArenaItem *
-nr_arena_group_pick (NRArenaItem *item, NR::Point p, double delta, unsigned int sticky)
+nr_arena_group_pick (NRArenaItem *item, Geom::Point p, double delta, unsigned int sticky)
 {
     NRArenaGroup *group = NR_ARENA_GROUP (item);
 
@@ -272,17 +273,17 @@ nr_arena_group_set_transparent (NRArenaGroup *group, unsigned int transparent)
     group->transparent = transparent;
 }
 
-void nr_arena_group_set_child_transform(NRArenaGroup *group, NR::Matrix const &t)
+void nr_arena_group_set_child_transform(NRArenaGroup *group, Geom::Matrix const &t)
 {
-    NR::Matrix nt(t);
+    Geom::Matrix nt(t);
     nr_arena_group_set_child_transform(group, &nt);
 }
 
-void nr_arena_group_set_child_transform(NRArenaGroup *group, NR::Matrix const *t)
+void nr_arena_group_set_child_transform(NRArenaGroup *group, Geom::Matrix const *t)
 {
-    if (!t) t = &NR_MATRIX_IDENTITY;
+    if (!t) t = &GEOM_MATRIX_IDENTITY;
 
-    if (!NR::matrix_equalp(*t, group->child_transform, NR_EPSILON)) {
+    if (!Geom::matrix_equalp(*t, group->child_transform, NR_EPSILON)) {
         nr_arena_item_request_render (NR_ARENA_ITEM (group));
         group->child_transform = *t;
         nr_arena_item_request_update (NR_ARENA_ITEM (group), NR_ARENA_ITEM_STATE_ALL, TRUE);
index ff3ec02dd64a0faf624203e50ed21922ee402728..ae1763e9901694a491e768d23059dc66272bc774 100644 (file)
@@ -26,7 +26,7 @@ struct NRArenaGroup : public NRArenaItem{
     unsigned int transparent : 1;
     NRArenaItem *children;
     NRArenaItem *last;
-    NR::Matrix child_transform;
+    Geom::Matrix child_transform;
     SPStyle *style;
 
     static NRArenaGroup *create(NRArena *arena) {
@@ -42,8 +42,8 @@ struct NRArenaGroupClass {
 
 void nr_arena_group_set_transparent(NRArenaGroup *group, unsigned int transparent);
 
-void nr_arena_group_set_child_transform(NRArenaGroup *group, NR::Matrix const &t);
-void nr_arena_group_set_child_transform(NRArenaGroup *group, NR::Matrix const *t);
+void nr_arena_group_set_child_transform(NRArenaGroup *group, Geom::Matrix const &t);
+void nr_arena_group_set_child_transform(NRArenaGroup *group, Geom::Matrix const *t);
 void nr_arena_group_set_style(NRArenaGroup *group, SPStyle *style);
 
 #endif
index 4803228739ce51217085f242a73ddd7226da67e7..c8a98848363590d27b98957f48fbcdfe72f12a65 100644 (file)
@@ -13,6 +13,7 @@
  */
 
 #include <libnr/nr-compose-transform.h>
+#include <2geom/transforms.h>
 #include <libnr/nr-blit.h>
 #include "../prefs-utils.h"
 #include "nr-arena-image.h"
@@ -40,7 +41,7 @@ static void nr_arena_image_finalize (NRObject *object);
 
 static unsigned int nr_arena_image_update (NRArenaItem *item, NRRectL *area, NRGC *gc, unsigned int state, unsigned int reset);
 static unsigned int nr_arena_image_render (cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock *pb, unsigned int flags);
-static NRArenaItem *nr_arena_image_pick (NRArenaItem *item, NR::Point p, double delta, unsigned int sticky);
+static NRArenaItem *nr_arena_image_pick (NRArenaItem *item, Geom::Point p, double delta, unsigned int sticky);
 
 static NRArenaItemClass *parent_class;
 
@@ -88,7 +89,7 @@ nr_arena_image_init (NRArenaImage *image)
     image->width = 256.0;
     image->height = 256.0;
 
-    image->grid2px.set_identity();
+    image->grid2px.setIdentity();
 
     image->style = 0;
 }
@@ -106,7 +107,7 @@ nr_arena_image_finalize (NRObject *object)
 static unsigned int
 nr_arena_image_update( NRArenaItem *item, NRRectL */*area*/, NRGC *gc, unsigned int /*state*/, unsigned int /*reset*/ )
 {
-    NR::Matrix grid2px;
+    Geom::Matrix grid2px;
 
     NRArenaImage *image = NR_ARENA_IMAGE (item);
 
@@ -115,7 +116,7 @@ nr_arena_image_update( NRArenaItem *item, NRRectL */*area*/, NRGC *gc, unsigned
 
     /* Copy affine */
     grid2px = gc->transform.inverse();
-    double hscale, vscale; // todo: replace with NR::scale
+    double hscale, vscale; // todo: replace with Geom::Scale
     if (image->px) {
         hscale = image->pxw / image->width;
         vscale = image->pxh / image->height;
@@ -143,12 +144,12 @@ nr_arena_image_update( NRArenaItem *item, NRRectL */*area*/, NRGC *gc, unsigned
         bbox.x1 = image->x + image->width;
         bbox.y1 = image->y + image->height;
 
-        image->c00 = (NR::Point(bbox.x0, bbox.y0) * gc->transform);
-        image->c01 = (NR::Point(bbox.x0, bbox.y1) * gc->transform);
-        image->c10 = (NR::Point(bbox.x1, bbox.y0) * gc->transform);
-        image->c11 = (NR::Point(bbox.x1, bbox.y1) * gc->transform);
+        image->c00 = (Geom::Point(bbox.x0, bbox.y0) * gc->transform);
+        image->c01 = (Geom::Point(bbox.x0, bbox.y1) * gc->transform);
+        image->c10 = (Geom::Point(bbox.x1, bbox.y0) * gc->transform);
+        image->c11 = (Geom::Point(bbox.x1, bbox.y1) * gc->transform);
 
-        nr_rect_d_matrix_transform (&bbox, &bbox, &gc->transform);
+        nr_rect_d_matrix_transform (&bbox, &bbox, from_2geom(gc->transform));
 
         item->bbox.x0 = (int) floor (bbox.x0);
         item->bbox.y0 = (int) floor (bbox.y0);
@@ -179,7 +180,7 @@ nr_arena_image_render( cairo_t *ct, NRArenaItem *item, NRRectL */*area*/, NRPixB
 
     NRArenaImage *image = NR_ARENA_IMAGE (item);
 
-    NR::Matrix d2s;
+    Geom::Matrix d2s;
 
     d2s[0] = b2i[0];
     d2s[1] = b2i[1];
@@ -235,23 +236,23 @@ nr_arena_image_render( cairo_t *ct, NRArenaItem *item, NRRectL */*area*/, NRPixB
         cairo_set_line_width(ct, 0.5);
         cairo_new_path(ct);
 
-        NR::Point shift(pb->area.x0, pb->area.y0);
-        NR::Point c00 = image->c00 - shift;
-        NR::Point c01 = image->c01 - shift;
-        NR::Point c11 = image->c11 - shift;
-        NR::Point c10 = image->c10 - shift;
+        Geom::Point shift(pb->area.x0, pb->area.y0);
+        Geom::Point c00 = image->c00 - shift;
+        Geom::Point c01 = image->c01 - shift;
+        Geom::Point c11 = image->c11 - shift;
+        Geom::Point c10 = image->c10 - shift;
 
-        cairo_move_to (ct, c00[NR::X], c00[NR::Y]);
+        cairo_move_to (ct, c00[Geom::X], c00[Geom::Y]);
 
         // the box
-        cairo_line_to (ct, c10[NR::X], c10[NR::Y]);
-        cairo_line_to (ct, c11[NR::X], c11[NR::Y]);
-        cairo_line_to (ct, c01[NR::X], c01[NR::Y]);
-        cairo_line_to (ct, c00[NR::X], c00[NR::Y]);
+        cairo_line_to (ct, c10[Geom::X], c10[Geom::Y]);
+        cairo_line_to (ct, c11[Geom::X], c11[Geom::Y]);
+        cairo_line_to (ct, c01[Geom::X], c01[Geom::Y]);
+        cairo_line_to (ct, c00[Geom::X], c00[Geom::Y]);
         // the diagonals
-        cairo_line_to (ct, c11[NR::X], c11[NR::Y]);
-        cairo_move_to (ct, c10[NR::X], c10[NR::Y]);
-        cairo_line_to (ct, c01[NR::X], c01[NR::Y]);
+        cairo_line_to (ct, c11[Geom::X], c11[Geom::Y]);
+        cairo_move_to (ct, c10[Geom::X], c10[Geom::Y]);
+        cairo_line_to (ct, c01[Geom::X], c01[Geom::Y]);
 
         cairo_stroke(ct);
 
@@ -263,14 +264,14 @@ nr_arena_image_render( cairo_t *ct, NRArenaItem *item, NRRectL */*area*/, NRPixB
 
 /** Calculates the closest distance from p to the segment a1-a2*/
 double
-distance_to_segment (NR::Point p, NR::Point a1, NR::Point a2)
+distance_to_segment (Geom::Point p, Geom::Point a1, Geom::Point a2)
 {
     // calculate sides of the triangle and their squares
-    double d1 = NR::L2(p - a1);
+    double d1 = Geom::L2(p - a1);
     double d1_2 = d1 * d1;
-    double d2 = NR::L2(p - a2);
+    double d2 = Geom::L2(p - a2);
     double d2_2 = d2 * d2;
-    double a = NR::L2(a1 - a2);
+    double a = Geom::L2(a1 - a2);
     double a_2 = a * a;
 
     // if one of the angles at the base is > 90, return the corresponding side
@@ -283,7 +284,7 @@ distance_to_segment (NR::Point p, NR::Point a1, NR::Point a2)
 }
 
 static NRArenaItem *
-nr_arena_image_pick( NRArenaItem *item, NR::Point p, double delta, unsigned int /*sticky*/ )
+nr_arena_image_pick( NRArenaItem *item, Geom::Point p, double delta, unsigned int /*sticky*/ )
 {
     NRArenaImage *image = NR_ARENA_IMAGE (item);
 
@@ -311,9 +312,9 @@ nr_arena_image_pick( NRArenaItem *item, NR::Point p, double delta, unsigned int
         int const width = image->pxw;
         int const height = image->pxh;
         int const rowstride = image->pxrs;
-        NR::Point tp = p * image->grid2px;
-        int const ix = (int)(tp[NR::X]);
-        int const iy = (int)(tp[NR::Y]);
+        Geom::Point tp = p * image->grid2px;
+        int const ix = (int)(tp[Geom::X]);
+        int const iy = (int)(tp[Geom::Y]);
 
         if ((ix < 0) || (iy < 0) || (ix >= width) || (iy >= height))
             return NULL;
index 2d7328263b68fd49835caa2905eaf51ff78207a5..d4653a692e5df84cad1d9287b14ea60bc2d2e2f7 100644 (file)
@@ -32,10 +32,10 @@ struct NRArenaImage : public NRArenaItem {
     double x, y;
     double width, height;
 
-    NR::Point c00, c01, c11, c10; // all 4 corners of the image, for outline mode rect
+    Geom::Point c00, c01, c11, c10; // all 4 corners of the image, for outline mode rect
 
     /* From GRID to PIXELS */
-    NR::Matrix grid2px;
+    Geom::Matrix grid2px;
 
     SPStyle *style;
 
index a236b866bbfb17bc43d3b306cd70091630d22deb..b9a0cc371e6f19e445de19b26c73a08d3f023023 100644 (file)
@@ -25,6 +25,7 @@
 #include "nr-arena.h"
 #include "nr-arena-item.h"
 #include "gc-core.h"
+#include "helper/geom.h"
 
 #include "nr-filter.h"
 #include "libnr/nr-rect.h"
@@ -619,7 +620,7 @@ nr_arena_item_invoke_clip (NRArenaItem *item, NRRectL *area, NRPixBlock *pb)
 }
 
 NRArenaItem *
-nr_arena_item_invoke_pick (NRArenaItem *item, NR::Point p, double delta,
+nr_arena_item_invoke_pick (NRArenaItem *item, Geom::Point p, double delta,
                            unsigned int sticky)
 {
     nr_return_val_if_fail (item != NULL, NULL);
@@ -633,9 +634,9 @@ nr_arena_item_invoke_pick (NRArenaItem *item, NR::Point p, double delta,
     if (!sticky && !(item->visible && item->sensitive))
         return NULL;
 
-    // TODO: rewrite using NR::Rect
-    const double x = p[NR::X];
-    const double y = p[NR::Y];
+    // TODO: rewrite using Geom::Rect
+    const double x = p[Geom::X];
+    const double y = p[Geom::Y];
 
     if (((x + delta) >= item->bbox.x0) &&
         ((x - delta) < item->bbox.x1) &&
@@ -711,14 +712,14 @@ nr_arena_item_append_child (NRArenaItem *parent, NRArenaItem *child)
 }
 
 void
-nr_arena_item_set_transform (NRArenaItem *item, NR::Matrix const &transform)
+nr_arena_item_set_transform (NRArenaItem *item, Geom::Matrix const &transform)
 {
-    NR::Matrix const t (transform);
+    Geom::Matrix const t (transform);
     nr_arena_item_set_transform (item, &t);
 }
 
 void
-nr_arena_item_set_transform (NRArenaItem *item, NR::Matrix const *transform)
+nr_arena_item_set_transform (NRArenaItem *item, Geom::Matrix const *transform)
 {
     nr_return_if_fail (item != NULL);
     nr_return_if_fail (NR_IS_ARENA_ITEM (item));
@@ -726,17 +727,17 @@ nr_arena_item_set_transform (NRArenaItem *item, NR::Matrix const *transform)
     if (!transform && !item->transform)
         return;
 
-    const NR::Matrix *md = (item->transform) ? item->transform : &NR_MATRIX_IDENTITY;
-    const NR::Matrix *ms = (transform) ? transform : &NR_MATRIX_IDENTITY;
+    const Geom::Matrix *md = (item->transform) ? item->transform : &GEOM_MATRIX_IDENTITY;
+    const Geom::Matrix *ms = (transform) ? transform : &GEOM_MATRIX_IDENTITY;
 
-    if (!NR::matrix_equalp(*md, *ms, NR_EPSILON)) {
+    if (!Geom::matrix_equalp(*md, *ms, NR_EPSILON)) {
         nr_arena_item_request_render (item);
-        if (!transform || transform->test_identity()) {
+        if (!transform || transform->isIdentity()) {
             /* Set to identity affine */
             item->transform = NULL;
         } else {
             if (!item->transform)
-                item->transform = new (GC::ATOMIC) NR::Matrix ();
+                item->transform = new (GC::ATOMIC) Geom::Matrix ();
             *item->transform = *transform;
         }
         nr_arena_item_request_update (item, NR_ARENA_ITEM_STATE_ALL, TRUE);
@@ -836,12 +837,12 @@ nr_arena_item_set_order (NRArenaItem *item, int order)
 }
 
 void
-nr_arena_item_set_item_bbox (NRArenaItem *item, boost::optional<NR::Rect> &bbox)
+nr_arena_item_set_item_bbox (NRArenaItem *item, boost::optional<Geom::Rect> &bbox)
 {
     nr_return_if_fail(item != NULL);
     nr_return_if_fail(NR_IS_ARENA_ITEM(item));
 
-    item->item_bbox = bbox;
+    if(bbox)  item->item_bbox = *bbox;
 }
 
 /** Returns a background image for use with filter effects. */
index b95fc5e72081610a25a9abedf85dfa6e9afff6d1..9db8d7a4063d58fe49c24ae61c38efe799d166a6 100644 (file)
 #include "nr-arena-forward.h"
 #include "display/nr-filter.h"
 #include <cairo.h>
+#include <libnr/nr-convert2geom.h>
 
 struct NRGC {
     NRGC(NRGC const *p) : parent(p) {}
     NRGC const *parent;
-    NR::Matrix transform;
+    Geom::Matrix transform;
 };
 
 struct NRArenaItem : public NRObject {
@@ -91,9 +92,9 @@ struct NRArenaItem : public NRObject {
     NRRectL bbox;
     /* BBox in item coordinates - this should be a bounding box as
      * specified in SVG standard. Required by filters. */
-    boost::optional<NR::Rect> item_bbox;
+    boost::optional<Geom::Rect> item_bbox;
     /* Our affine */
-    NR::Matrix *transform;
+    Geom::Matrix *transform;
     /* Clip item */
     NRArenaItem *clip;
     /* Mask item */
@@ -107,7 +108,7 @@ struct NRArenaItem : public NRObject {
     void *data;
 
     /* Current Transformation Matrix */
-    NR::Matrix ctm;
+    Geom::Matrix ctm;
 
     /* These hold background buffer state for filter rendering */
     NRPixBlock *background_pb;
@@ -128,7 +129,7 @@ struct NRArenaItemClass : public NRObjectClass {
     unsigned int (* update) (NRArenaItem *item, NRRectL *area, NRGC *gc, unsigned int state, unsigned int reset);
     unsigned int (* render) (cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock *pb, unsigned int flags);
     unsigned int (* clip) (NRArenaItem *item, NRRectL *area, NRPixBlock *pb);
-    NRArenaItem * (* pick) (NRArenaItem *item, NR::Point p, double delta, unsigned int sticky);
+    NRArenaItem * (* pick) (NRArenaItem *item, Geom::Point p, double delta, unsigned int sticky);
 };
 
 #define NR_ARENA_ITEM_ARENA(ai) (((NRArenaItem *) (ai))->arena)
@@ -158,7 +159,7 @@ unsigned int nr_arena_item_invoke_update (NRArenaItem *item, NRRectL *area, NRGC
 unsigned int nr_arena_item_invoke_render(cairo_t *ct, NRArenaItem *item, NRRectL const *area, NRPixBlock *pb, unsigned int flags);
 
 unsigned int nr_arena_item_invoke_clip (NRArenaItem *item, NRRectL *area, NRPixBlock *pb);
-NRArenaItem *nr_arena_item_invoke_pick (NRArenaItem *item, NR::Point p, double delta, unsigned int sticky);
+NRArenaItem *nr_arena_item_invoke_pick (NRArenaItem *item, Geom::Point p, double delta, unsigned int sticky);
 
 void nr_arena_item_request_update (NRArenaItem *item, unsigned int reset, unsigned int propagate);
 void nr_arena_item_request_render (NRArenaItem *item);
@@ -169,15 +170,15 @@ NRArenaItem *nr_arena_item_unparent (NRArenaItem *item);
 
 void nr_arena_item_append_child (NRArenaItem *parent, NRArenaItem *child);
 
-void nr_arena_item_set_transform(NRArenaItem *item, NR::Matrix const &transform);
-void nr_arena_item_set_transform(NRArenaItem *item, NR::Matrix const *transform);
+void nr_arena_item_set_transform(NRArenaItem *item, Geom::Matrix const &transform);
+void nr_arena_item_set_transform(NRArenaItem *item, Geom::Matrix const *transform);
 void nr_arena_item_set_opacity (NRArenaItem *item, double opacity);
 void nr_arena_item_set_sensitive (NRArenaItem *item, unsigned int sensitive);
 void nr_arena_item_set_visible (NRArenaItem *item, unsigned int visible);
 void nr_arena_item_set_clip (NRArenaItem *item, NRArenaItem *clip);
 void nr_arena_item_set_mask (NRArenaItem *item, NRArenaItem *mask);
 void nr_arena_item_set_order (NRArenaItem *item, int order);
-void nr_arena_item_set_item_bbox (NRArenaItem *item, boost::optional<NR::Rect> &bbox);
+void nr_arena_item_set_item_bbox (NRArenaItem *item, boost::optional<Geom::Rect> &bbox);
 
 NRPixBlock *nr_arena_item_get_background (NRArenaItem const *item, int depth = 0);
 
index 751801c7efa90c48a51f5bf76f86dd2d171d1a22..6a252e5f57c085e544a883e0a5cfff9ebf1e6893 100644 (file)
@@ -58,7 +58,7 @@ static void nr_arena_shape_set_child_position(NRArenaItem *item, NRArenaItem *ch
 static guint nr_arena_shape_update(NRArenaItem *item, NRRectL *area, NRGC *gc, guint state, guint reset);
 static unsigned int nr_arena_shape_render(cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock *pb, unsigned int flags);
 static guint nr_arena_shape_clip(NRArenaItem *item, NRRectL *area, NRPixBlock *pb);
-static NRArenaItem *nr_arena_shape_pick(NRArenaItem *item, NR::Point p, double delta, unsigned int sticky);
+static NRArenaItem *nr_arena_shape_pick(NRArenaItem *item, Geom::Point p, double delta, unsigned int sticky);
 
 static NRArenaItemClass *shape_parent_class;
 
@@ -113,7 +113,7 @@ nr_arena_shape_init(NRArenaShape *shape)
     shape->paintbox.x0 = shape->paintbox.y0 = 0.0F;
     shape->paintbox.x1 = shape->paintbox.y1 = 256.0F;
 
-    shape->ctm.set_identity();
+    shape->ctm.setIdentity();
     shape->fill_painter = NULL;
     shape->stroke_painter = NULL;
     shape->cached_fill = NULL;
@@ -127,8 +127,8 @@ nr_arena_shape_init(NRArenaShape *shape)
 
     shape->approx_bbox.x0 = shape->approx_bbox.y0 = 0;
     shape->approx_bbox.x1 = shape->approx_bbox.y1 = 0;
-    shape->cached_fctm.set_identity();
-    shape->cached_sctm.set_identity();
+    shape->cached_fctm.setIdentity();
+    shape->cached_sctm.setIdentity();
 
     shape->markers = NULL;
 
@@ -282,7 +282,7 @@ nr_arena_shape_update(NRArenaItem *item, NRRectL *area, NRGC *gc, guint state, g
 
         if (shape->_stroke.paint.type() != NRArenaShape::Paint::NONE || outline) {
             float width, scale;
-            scale = NR::expansion(gc->transform);
+            scale = gc->transform.descrim();
             width = MAX(0.125, shape->_stroke.width * scale);
             if ( fabs(shape->_stroke.width * scale) > 0.01 ) { // sinon c'est 0=oon veut pas de bord
                 boundingbox.expandBy(width);
@@ -303,7 +303,7 @@ nr_arena_shape_update(NRArenaItem *item, NRRectL *area, NRGC *gc, guint state, g
     if ( area && nr_rect_l_test_intersect_ptr(area, &shape->approx_bbox) ) shape->delayed_shp=false;
 
     /* Release state data */
-    if (TRUE || !NR::transform_equalp(gc->transform, shape->ctm, NR_EPSILON)) {
+    if (TRUE || !Geom::transform_equalp(gc->transform, shape->ctm, NR_EPSILON)) {
         /* Concept test */
         if (shape->fill_shp) {
             delete shape->fill_shp;
@@ -393,8 +393,8 @@ nr_arena_shape_update(NRArenaItem *item, NRRectL *area, NRGC *gc, guint state, g
     return NR_ARENA_ITEM_STATE_ALL;
 }
 
-int matrix_is_isometry(NR::Matrix p) {
-    NR::Matrix   tp;
+int matrix_is_isometry(Geom::Matrix p) {
+    Geom::Matrix   tp;
     // transposition
     tp[0]=p[0];
     tp[1]=p[2];
@@ -402,9 +402,9 @@ int matrix_is_isometry(NR::Matrix p) {
     tp[3]=p[3];
     for (int i = 4; i < 6; i++) // shut valgrind up :)
         tp[i] = p[i] = 0;
-    NR::Matrix   isom = tp*p; // A^T * A = adjunct?
+    Geom::Matrix   isom = tp*p; // A^T * A = adjunct?
     // Is the adjunct nearly an identity function?
-    if (isom.is_translation(0.01)) {
+    if (isom.isTranslation(0.01)) {
         // the transformation is an isometry -> no need to recompute
         // the uncrossed polygon
         if ( p.det() < 0 )
@@ -446,7 +446,7 @@ nr_arena_shape_update_fill(NRArenaShape *shape, NRGC *gc, NRRectL *area, bool fo
 //        ((shape->curve->get_length() > 2) || (SP_CURVE_BPATH(shape->curve)[1].code == NR_CURVETO)) ) {  // <-- this used to be the old code, i think it has to determine that the path has a sort of 'internal region' where fill would occur
           has_inner_area(shape->curve->get_pathvector()) ) {
         if (TRUE || !shape->fill_shp) {
-            NR::Matrix  cached_to_new = NR::identity();
+            Geom::Matrix  cached_to_new = Geom::identity();
             int isometry = 0;
             if ( shape->cached_fill ) {
                 if (shape->cached_fctm == gc->transform) {
@@ -508,7 +508,7 @@ nr_arena_shape_update_fill(NRArenaShape *shape, NRGC *gc, NRRectL *area, bool fo
                 shape->fill_shp->Reset(shape->cached_fill->numberOfPoints(),
                                        shape->cached_fill->numberOfEdges());
                 for (int i = 0; i < shape->cached_fill->numberOfPoints(); i++)
-                    shape->fill_shp->AddPoint(shape->cached_fill->getPoint(i).x * cached_to_new);
+                    shape->fill_shp->AddPoint(to_2geom(shape->cached_fill->getPoint(i).x) * cached_to_new);
                 if ( isometry == 1 ) {
                     for (int i = 0; i < shape->cached_fill->numberOfEdges(); i++)
                         shape->fill_shp->AddEdge(shape->cached_fill->getEdge(i).st,
@@ -532,7 +532,7 @@ nr_arena_shape_update_stroke(NRArenaShape *shape,NRGC* gc, NRRectL *area)
 {
     SPStyle* style = shape->style;
 
-    float const scale = NR::expansion(gc->transform);
+    float const scale = gc->transform.descrim();
 
     bool outline = (NR_ARENA_ITEM(shape)->arena->rendermode == Inkscape::RENDERMODE_OUTLINE);
 
@@ -556,7 +556,7 @@ nr_arena_shape_update_stroke(NRArenaShape *shape,NRGC* gc, NRRectL *area)
             width = style_width;
         }
 
-        NR::Matrix  cached_to_new = NR::identity();
+        Geom::Matrix  cached_to_new = Geom::identity();
 
         int isometry = 0;
         if ( shape->cached_stroke ) {
@@ -664,7 +664,7 @@ nr_arena_shape_update_stroke(NRArenaShape *shape,NRGC* gc, NRRectL *area)
                 shape->stroke_shp=new Shape;
             shape->stroke_shp->Reset(shape->cached_stroke->numberOfPoints(), shape->cached_stroke->numberOfEdges());
             for (int i = 0; i < shape->cached_stroke->numberOfPoints(); i++)
-                shape->stroke_shp->AddPoint(shape->cached_stroke->getPoint(i).x * cached_to_new);
+                shape->stroke_shp->AddPoint(to_2geom(shape->cached_stroke->getPoint(i).x) * cached_to_new);
             if ( isometry == 1 ) {
                 for (int i = 0; i < shape->cached_stroke->numberOfEdges(); i++)
                     shape->stroke_shp->AddEdge(shape->cached_stroke->getEdge(i).st,
@@ -716,7 +716,7 @@ nr_arena_shape_add_bboxes(NRArenaShape* shape, Geom::Rect &bbox)
 
 // cairo outline rendering:
 static unsigned int
-cairo_arena_shape_render_outline(cairo_t *ct, NRArenaItem *item, boost::optional<NR::Rect> area)
+cairo_arena_shape_render_outline(cairo_t *ct, NRArenaItem *item, boost::optional<Geom::Rect> area)
 {
     NRArenaShape *shape = NR_ARENA_SHAPE(item);
 
@@ -748,7 +748,7 @@ cairo_arena_shape_render_stroke(NRArenaItem *item, NRRectL *area, NRPixBlock *pb
     NRArenaShape *shape = NR_ARENA_SHAPE(item);
     SPStyle const *style = shape->style;
 
-    float const scale = NR::expansion(shape->ctm);
+    float const scale = shape->ctm.descrim();
 
     if (fabs(shape->_stroke.width * scale) < 0.01)
         return;
@@ -813,7 +813,7 @@ cairo_arena_shape_render_stroke(NRArenaItem *item, NRRectL *area, NRPixBlock *pb
     cairo_set_tolerance(ct, 0.1);
     cairo_new_path(ct);
 
-    feed_pathvector_to_cairo (ct, shape->curve->get_pathvector(), shape->ctm, area->upgrade(), true, style_width);
+    feed_pathvector_to_cairo (ct, shape->curve->get_pathvector(), shape->ctm, to_2geom(area->upgrade()), true, style_width);
 
     cairo_stroke(ct);
 
@@ -842,7 +842,7 @@ nr_arena_shape_render(cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock
     if (outline) { // cairo outline rendering
 
         pb->empty = FALSE;
-        unsigned int ret = cairo_arena_shape_render_outline (ct, item, (&pb->area)->upgrade());
+        unsigned int ret = cairo_arena_shape_render_outline (ct, item, to_2geom((&pb->area)->upgrade()));
         if (ret & NR_ARENA_ITEM_STATE_INVALID) return ret;
 
     } else {
@@ -1056,7 +1056,7 @@ nr_arena_shape_clip(NRArenaItem *item, NRRectL *area, NRPixBlock *pb)
 }
 
 static NRArenaItem *
-nr_arena_shape_pick(NRArenaItem *item, NR::Point p, double delta, unsigned int /*sticky*/)
+nr_arena_shape_pick(NRArenaItem *item, Geom::Point p, double delta, unsigned int /*sticky*/)
 {
     NRArenaShape *shape = NR_ARENA_SHAPE(item);
 
@@ -1082,7 +1082,7 @@ nr_arena_shape_pick(NRArenaItem *item, NR::Point p, double delta, unsigned int /
     if (outline) {
         width = 0.5;
     } else if (shape->_stroke.paint.type() != NRArenaShape::Paint::NONE && shape->_stroke.opacity > 1e-3) {
-        float const scale = NR::expansion(shape->ctm);
+        float const scale = shape->ctm.descrim();
         width = MAX(0.125, shape->_stroke.width * scale) / 2;
     } else {
         width = 0;
@@ -1359,12 +1359,12 @@ nr_arena_shape_set_paintbox(NRArenaShape *shape, NRRect const *pbox)
     nr_arena_item_request_update(shape, NR_ARENA_ITEM_STATE_ALL, FALSE);
 }
 
-void NRArenaShape::setPaintBox(NR::Rect const &pbox)
+void NRArenaShape::setPaintBox(Geom::Rect const &pbox)
 {
-    paintbox.x0 = pbox.min()[NR::X];
-    paintbox.y0 = pbox.min()[NR::Y];
-    paintbox.x1 = pbox.max()[NR::X];
-    paintbox.y1 = pbox.max()[NR::Y];
+    paintbox.x0 = pbox.min()[Geom::X];
+    paintbox.y0 = pbox.min()[Geom::Y];
+    paintbox.x1 = pbox.max()[Geom::X];
+    paintbox.y1 = pbox.max()[Geom::Y];
 
     nr_arena_item_request_update(this, NR_ARENA_ITEM_STATE_ALL, FALSE);
 }
index 2b56fbf75d90b46334fd495dd3c4c6233070e7d9..8ff8c476aa8f2206b4d9108d4442a2e9cfa87a08 100644 (file)
@@ -113,7 +113,7 @@ struct NRArenaShape : public NRArenaItem {
     SPStyle *style;
     NRRect paintbox;
     /* State data */
-    NR::Matrix ctm;
+    Geom::Matrix ctm;
 
     SPPainter *fill_painter;
     SPPainter *stroke_painter;
@@ -136,8 +136,8 @@ struct NRArenaShape : public NRArenaItem {
     // polygon to get the *_shp polygon.  Otherwise, recompute so this
     // works fine for translation and rotation, but not scaling and
     // skewing
-    NR::Matrix cached_fctm;
-    NR::Matrix cached_sctm;
+    Geom::Matrix cached_fctm;
+    Geom::Matrix cached_sctm;
     NRRectL cached_farea;
     NRRectL cached_sarea;
     bool cached_fpartialy;
@@ -170,7 +170,7 @@ struct NRArenaShape : public NRArenaItem {
     void setLineJoin(JoinType join);
     void setMitreLimit(double limit);
 
-    void setPaintBox(NR::Rect const &pbox);
+    void setPaintBox(Geom::Rect const &pbox);
 
     void _invalidateCachedFill() {
         if (cached_fill) {
index 65958f0d216c5b08c5e1d1f897bbc5018148e1bf..7837770ed2f11b012952315a16044e765d078fb5 100644 (file)
@@ -62,7 +62,7 @@ int FilterImage::render(FilterSlot &slot, FilterUnits const &units) {
         Matrix identity(1.0, 0.0,
                    0.0, 1.0,
                    0.0, 0.0);
-        boost::optional<NR::Rect> area = SVGElem->getBounds(identity);
+        boost::optional<Geom::Rect> area = SVGElem->getBounds(identity);
         
         NRRectL rect;
         rect.x0=area->min()[NR::X];
@@ -80,9 +80,9 @@ int FilterImage::render(FilterSlot &slot, FilterUnits const &units) {
         NRGC gc(NULL);
         /* Update to renderable state */
         double sf = 1.0;
-        NR::Matrix t(NR::scale(sf, sf));
+        Geom::Matrix t(Geom::Scale(sf, sf));
         nr_arena_item_set_transform(ai, &t);
-        gc.transform.set_identity();
+        gc.transform.setIdentity();
         nr_arena_item_invoke_update( ai, NULL, &gc,
                                              NR_ARENA_ITEM_STATE_ALL,
                                              NR_ARENA_ITEM_STATE_NONE );
index 3fd577309241ac458ac14e9cb0f8d7dacbbb5fc8..1a3a8d1f119a07a0ff2356df5b2aa8853c4ca003 100644 (file)
@@ -14,7 +14,7 @@
  *  http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  *
  * Copyright (C) 2007 authors
- * Released under GNU GPL, read the file 'COPYING' for more information
+ * Released under GNU GPL version 2 (or later), read the file 'COPYING' for more information
  */
 
 #include "display/nr-arena-item.h"
index 0e608e901c3a32cf01d8e276c72aadb152e9aa6a..8930a74dfb5171b09996d3101078def85e4d5d92 100644 (file)
@@ -114,13 +114,13 @@ int Filter::render(NRArenaItem const *item, NRPixBlock *pb)
     Matrix trans = item->ctm;
     FilterSlot slot(_slot_count, item);
 
-    Rect item_bbox;
+    Geom::Rect item_bbox;
     if (item->item_bbox) {
         item_bbox = *(item->item_bbox);
     } else {
         // Bounding box might not exist, so create a dummy one.
-        Point zero(0, 0);
-        item_bbox = Rect(zero, zero);
+        Geom::Point zero(0, 0);
+        item_bbox = Geom::Rect(zero, zero);
     }
     if (item_bbox.min()[X] > item_bbox.max()[X]
         || item_bbox.min()[Y] > item_bbox.max()[Y])
@@ -129,7 +129,7 @@ int Filter::render(NRArenaItem const *item, NRPixBlock *pb)
         return 1;
     }
 
-    Rect filter_area = filter_effect_area(item_bbox);
+    Geom::Rect filter_area = filter_effect_area(item_bbox);
     if (item_bbox.isEmpty()) {
         // It's no use to try and filter an empty object.
         return 1;
@@ -137,8 +137,8 @@ int Filter::render(NRArenaItem const *item, NRPixBlock *pb)
         
     FilterUnits units(_filter_units, _primitive_units);
     units.set_ctm(trans);
-    units.set_item_bbox(item_bbox);
-    units.set_filter_area(filter_area);
+    units.set_item_bbox(from_2geom(item_bbox));
+    units.set_filter_area(from_2geom(filter_area));
 
     // TODO: with filterRes of 0x0 should return an empty image
     if (_x_pixels > 0) {
@@ -224,11 +224,11 @@ void Filter::bbox_enlarge(NRRectL &bbox) {
 
     /* TODO: this is wrong. Should use bounding box in user coordinates
      * and find its extents in display coordinates. */
-    Point min(bbox.x0, bbox.y0);
-    Point max(bbox.x1, bbox.y1);
-    Rect tmp_bbox(min, max);
+    Geom::Point min(bbox.x0, bbox.y0);
+    Geom::Point max(bbox.x1, bbox.y1);
+    Geom::Rect tmp_bbox(min, max);
 
-    Rect enlarged = filter_effect_area(tmp_bbox);
+    Geom::Rect enlarged = filter_effect_area(tmp_bbox);
 
     bbox.x0 = (ICoord)enlarged.min()[X];
     bbox.y0 = (ICoord)enlarged.min()[Y];
@@ -236,7 +236,7 @@ void Filter::bbox_enlarge(NRRectL &bbox) {
     bbox.y1 = (ICoord)enlarged.max()[Y];
 }
 
-Rect Filter::filter_effect_area(Rect const &bbox)
+Geom::Rect Filter::filter_effect_area(Geom::Rect const &bbox)
 {
     Point minp, maxp;
     double len_x = bbox.max()[X] - bbox.min()[X];
@@ -277,7 +277,7 @@ Rect Filter::filter_effect_area(Rect const &bbox)
     } else {
         g_warning("Error in NR::Filter::bbox_enlarge: unrecognized value of _filter_units");
     }
-    Rect area(minp, maxp);
+    Geom::Rect area(minp, maxp);
     return area;
 }
 
index 267f242d1aff218beae9421929b35dd40bcf33e9..1dbdfd1efc97e5b5851d6cfe75fa38cfff8dfbad 100644 (file)
@@ -155,7 +155,7 @@ public:
      * The given bounding box should be a bounding box as specified in
      * SVG standard and in user coordinate system.
      */
-    Rect filter_effect_area(Rect const &bbox);
+    Geom::Rect filter_effect_area(Geom::Rect const &bbox);
 
     /** Creates a new filter with space for one filter element */
     Filter();
index 0dd5d996ae8dc5cefd6c451c60973fef88d88654..28d29b59c6aebe8079c29a54506908720321d2a4 100644 (file)
 
 static cairo_user_data_key_t key;
 
-
-/**
- * Felipe,
- * Cairo is changing its userfont api a little bit for 1.7+, 1.8,
- * etc.   This switch makes your code compile both on 1.6 and 1.7.  Is
- * this ok?
- * 
- * Bob
- */     
-#if (CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 7, 0))
-
 static cairo_status_t font_init_cb (cairo_scaled_font_t  *scaled_font,
                       cairo_t */*cairo*/, cairo_font_extents_t *metrics){
        cairo_font_face_t*  face;
@@ -52,42 +41,18 @@ static cairo_status_t font_init_cb (cairo_scaled_font_t  *scaled_font,
 static cairo_status_t font_text_to_glyphs_cb (
                 cairo_scaled_font_t  *scaled_font,
                                const char               *utf8,
-                               int                  /*utf8_len*/,
+                               int                  utf8_len,
                                cairo_glyph_t        **glyphs,
                                int                          *num_glyphs,
-                               cairo_text_cluster_t **/*clusters*/,
-                               int                  */*num_clusters*/,
-                               cairo_bool_t         */*backward*/){
-       cairo_font_face_t*  face;
-       face = cairo_scaled_font_get_font_face(scaled_font);
-       SvgFont* instance = (SvgFont*) cairo_font_face_get_user_data(face, &key);
-       return instance->scaled_font_text_to_glyphs(scaled_font, utf8, glyphs, num_glyphs);
-}
-
-
-#else
-
-static cairo_status_t font_init_cb (cairo_scaled_font_t  *scaled_font,
-                      cairo_font_extents_t *metrics){
+                               cairo_text_cluster_t **clusters,
+                               int                  *num_clusters,
+                               cairo_text_cluster_flags_t         *flags){
        cairo_font_face_t*  face;
        face = cairo_scaled_font_get_font_face(scaled_font);
        SvgFont* instance = (SvgFont*) cairo_font_face_get_user_data(face, &key);
-       return instance->scaled_font_init(scaled_font, metrics);
-}
-
-static cairo_status_t font_text_to_glyphs_cb (cairo_scaled_font_t *scaled_font,
-                               const char      *utf8,
-                               cairo_glyph_t   **glyphs,
-                               int             *num_glyphs){
-       cairo_font_face_t*  face;
-       face = cairo_scaled_font_get_font_face(scaled_font);
-       SvgFont* instance = (SvgFont*) cairo_font_face_get_user_data(face, &key);
-       return instance->scaled_font_text_to_glyphs(scaled_font, utf8, glyphs, num_glyphs);
+       return instance->scaled_font_text_to_glyphs(scaled_font, utf8, utf8_len, glyphs, num_glyphs, clusters, num_clusters, flags);
 }
 
-#endif
-
-
 static cairo_status_t font_render_glyph_cb (cairo_scaled_font_t  *scaled_font,
                               unsigned long         glyph,
                               cairo_t              *cr,
@@ -136,12 +101,16 @@ unsigned int compare_them(char* s1, char* s2){
 cairo_status_t
 SvgFont::scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font,
                                const char      *utf8,
+                               int             utf8_len,
                                cairo_glyph_t   **glyphs,
-                               int             *num_glyphs)
+                               int             *num_glyphs,
+                               cairo_text_cluster_t **clusters,
+                               int                  *num_clusters,
+                               cairo_text_cluster_flags_t         *flags)
 {
        //This function receives a text string to be rendered. It then defines what is the sequence of glyphs that
-       // is used to properly render this string. It alse defines the respective coordinates of each glyph. Thus, it
-       // has to read the attributes od the SVGFont hkern and vkern nodes in order to adjust the glyph kerning.
+       // is used to properly render this string. It also defines the respective coordinates of each glyph. Thus, it
+       // has to read the attributes of the SVGFont hkern and vkern nodes in order to adjust the glyph kerning.
        //It also determines the usage of the missing-glyph in portions of the string that does not match any of the declared glyphs.
 
     unsigned long i;
@@ -258,8 +227,8 @@ SvgFont::scaled_font_render_glyph (cairo_scaled_font_t  *scaled_font,
         //This glyph has a path description on its d attribute, so we render it:
         cairo_new_path(cr);
         Geom::Scale s(1.0/((SPFont*) node->parent)->horiz_adv_x);
-        NRRect area(0,0,1,1); //I need help here!
-        feed_pathvector_to_cairo (cr, pathv, s, area.upgrade(), false, 0);
+        Geom::Rect area( Geom::Point(0,0), Geom::Point(1,1) ); //I need help here!    (reaction: note that the 'area' parameter is an *optional* rect, so you can pass an empty boost::optional<Geom::Rect>() )
+        feed_pathvector_to_cairo (cr, pathv, s, area, false, 0);
         cairo_fill(cr);
     }
 
index e3bac7d7a083b0ac8ce2ff7c52063cd901ee33ba..a41627f86fab13a5f8a3f37d3367f3c1c6064c88 100644 (file)
@@ -34,7 +34,7 @@ public:
 SvgFont(SPFont* spfont);
 cairo_font_face_t* get_font_face();
 cairo_status_t scaled_font_init (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *metrics);
-cairo_status_t scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, const char *utf8, cairo_glyph_t **glyphs, int *num_glyphs);
+cairo_status_t scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, const char        *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *flags);
 cairo_status_t scaled_font_render_glyph (cairo_scaled_font_t *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t *metrics);
 
 private:
index fd124aa1e42c03db01909db7b10cc231c7a131a5..d82e392387e435d45a5b3cef1d68d542e40717d5 100644 (file)
@@ -29,6 +29,7 @@
 #include <gtkmm.h>
 
 #include <helper/sp-marshal.h>
+#include <helper/recthull.h>
 #include <display/sp-canvas.h>
 #include "display-forward.h"
 #include <libnr/nr-matrix-fns.h>
@@ -773,7 +774,7 @@ static void
 sp_canvas_group_update (SPCanvasItem *item, Geom::Matrix const &affine, unsigned int flags)
 {
     SPCanvasGroup const *group = SP_CANVAS_GROUP (item);
-    NR::ConvexHull corners(Geom::Point(0, 0));
+    Geom::RectHull corners(Geom::Point(0, 0));
     bool empty=true;
 
     for (GList *list = group->items; list; list = list->next) {
@@ -783,7 +784,7 @@ sp_canvas_group_update (SPCanvasItem *item, Geom::Matrix const &affine, unsigned
 
         if ( i->x2 > i->x1 && i->y2 > i->y1 ) {
             if (empty) {
-                corners = NR::ConvexHull(Geom::Point(i->x1, i->y1));
+                corners = Geom::RectHull(Geom::Point(i->x1, i->y1));
                 empty = false;
             } else {
                 corners.add(Geom::Point(i->x1, i->y1));
@@ -792,12 +793,12 @@ sp_canvas_group_update (SPCanvasItem *item, Geom::Matrix const &affine, unsigned
         }
     }
 
-    boost::optional<NR::Rect> const bounds = corners.bounds();
+    boost::optional<Geom::Rect> const bounds = corners.bounds();
     if (bounds) {
-        item->x1 = bounds->min()[NR::X];
-        item->y1 = bounds->min()[NR::Y];
-        item->x2 = bounds->max()[NR::X];
-        item->y2 = bounds->max()[NR::Y];
+        item->x1 = bounds->min()[Geom::X];
+        item->y1 = bounds->min()[Geom::Y];
+        item->x2 = bounds->max()[Geom::X];
+        item->y2 = bounds->max()[Geom::Y];
     } else {
         // FIXME ?
         item->x1 = item->x2 = item->y1 = item->y2 = 0;
index c3ebdcdb212372921d0a279eedf45d1ec1ecd1b1..b27d8d1cbbdaa7e6ad69b577514fcdfbc8ee0bdc 100644 (file)
@@ -897,7 +897,7 @@ static GSList *find_items_in_area(GSList *s, SPGroup *group, unsigned int dkey,
             s = find_items_in_area(s, SP_GROUP(o), dkey, area, test);
         } else {
             SPItem *child = SP_ITEM(o);
-            boost::optional<Geom::Rect> box = to_2geom(sp_item_bbox_desktop(child));
+            boost::optional<Geom::Rect> box = sp_item_bbox_desktop(child);
             if ( box && test(area, *box) && (take_insensitive || child->isVisibleAndUnlocked(dkey))) {
                 s = g_slist_append(s, child);
             }
index b8f06907391c4d7b4f6e6527cb9a4635e3708f3c..2d4782f9b4cdf3733faa6de9fc5f651af3f6f554 100644 (file)
@@ -747,21 +747,21 @@ sp_dyna_draw_context_root_handler(SPEventContext *event_context,
                 if (dc->hatch_spacing == 0 && hatch_dist != 0) { 
                     // Haven't set spacing yet: gray, center free, update radius live
                     Geom::Point c = desktop->w2d(motion_w);
-                    NR::Matrix const sm (NR::scale(hatch_dist, hatch_dist) * NR::translate(c));
+                    NR::Matrix const sm (Geom::Scale(hatch_dist, hatch_dist) * 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);
                     sp_canvas_item_show(dc->hatch_area);
                 } else if (dc->dragging && !dc->hatch_escaped) {
                     // Tracking: green, center snapped, fixed radius
                     Geom::Point c = motion_dt;
-                    NR::Matrix const sm (NR::scale(dc->hatch_spacing, dc->hatch_spacing) * NR::translate(c));
+                    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), 0x00FF00ff, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT);
                     sp_canvas_item_show(dc->hatch_area);
                 } else if (dc->dragging && dc->hatch_escaped) {
                     // Tracking escaped: red, center free, fixed radius
                     Geom::Point c = desktop->w2d(motion_w);
-                    NR::Matrix const sm (NR::scale(dc->hatch_spacing, dc->hatch_spacing) * NR::translate(c));
+                    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), 0xFF0000ff, 1.0, SP_STROKE_LINEJOIN_MITER, SP_STROKE_LINECAP_BUTT);
@@ -770,7 +770,7 @@ sp_dyna_draw_context_root_handler(SPEventContext *event_context,
                     // 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])) {
-                        NR::Matrix const sm (NR::scale(dc->hatch_spacing, dc->hatch_spacing) * NR::translate(c));
+                        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);
                         sp_canvas_item_show(dc->hatch_area);
index 382a50edc5d25478d18c4004c6960361a6e90f15..d82d7ea89dbf40feaec0795da0df73044fd3c7bb 100644 (file)
@@ -739,7 +739,7 @@ set_to_accumulated(SPEraserContext *dc)
             Inkscape::XML::Document *xml_doc = sp_document_repr_doc(desktop->doc());
 
             SPItem* acid = SP_ITEM(desktop->doc()->getObjectByRepr(dc->repr));
-            boost::optional<Geom::Rect> eraserBbox = to_2geom(acid->getBounds(Geom::identity()));
+            boost::optional<Geom::Rect> eraserBbox = acid->getBounds(Geom::identity());
             Geom::Rect bounds = (*eraserBbox) * desktop->doc2dt();
             std::vector<SPItem*> remainingItems;
             GSList* toWorkOn = 0;
@@ -761,7 +761,7 @@ set_to_accumulated(SPEraserContext *dc)
                     for (GSList *i = toWorkOn ; i ; i = i->next ) {
                         SPItem *item = SP_ITEM(i->data);
                         if ( eraserMode ) {
-                            boost::optional<Geom::Rect> bbox = to_2geom(item->getBounds(Geom::identity()));
+                            boost::optional<Geom::Rect> bbox = item->getBounds(Geom::identity());
                             if (bbox && bbox->intersects(*eraserBbox)) {
                                 Inkscape::XML::Node* dup = dc->repr->duplicate(xml_doc);
                                 dc->repr->parent()->appendChild(dup);
index f308ce15753de2441e9e32106e5b085c3bd6332f..6bbaa5c06f2c6e938f80d8381fae3139b1832b84 100644 (file)
@@ -116,7 +116,7 @@ CairoRenderContext::CairoRenderContext(CairoRenderer *parent) :
     _stream(NULL),
     _is_valid(FALSE),
     _vector_based_target(FALSE),
-    _cr(NULL),
+    _cr(NULL), // Cairo context
     _surface(NULL),
     _target(CAIRO_SURFACE_TYPE_IMAGE),
     _target_format(CAIRO_FORMAT_ARGB32),
@@ -481,8 +481,8 @@ void
 CairoRenderContext::setClipMode(CairoClipMode mode)
 {
     switch (mode) {
-        case CLIP_MODE_PATH:
-        case CLIP_MODE_MASK:
+        case CLIP_MODE_PATH: // Clip is rendered as a path for vector output
+        case CLIP_MODE_MASK: // Clip is rendered as a bitmap for raster output.
             _clip_mode = mode;
             break;
         default:
@@ -538,9 +538,23 @@ CairoRenderContext::popLayer(void)
     g_assert( _is_valid );
 
     float opacity = _state->opacity;
-    TRACE(("--popLayer w/ %f\n", opacity));
+    TRACE(("--popLayer w/ opacity %f\n", opacity));
+
+    /*
+     At this point, the Cairo source is ready. A Cairo mask must be created if required.
+     Care must be taken of transformatons as Cairo, like PS and PDF, treats clip paths and
+     masks independently of the objects they effect while in SVG the clip paths and masks
+     are defined relative to the objects they are attached to.
+     Notes:
+     1. An SVG object may have both a clip path and a mask!
+     2. An SVG clip path can be composed of an object with a clip path. This is not handled properly.
+     3. An SVG clipped or masked object may be first drawn off the page and then translated onto
+        the page (document). This is also not handled properly.
+     4. The code converts all SVG masks to bitmaps. This shouldn't be necessary.
+     5. Cairo expects a mask to use only the alpha channel. SVG masks combine the RGB luminance with
+        alpha. This is handled here by doing a pixel by pixel conversion.
+    */
 
-    // apply clipPath or mask if present
     SPClipPath *clip_path = _state->clip_path;
     SPMask *mask = _state->mask;
     if (clip_path || mask) {
@@ -548,15 +562,17 @@ CairoRenderContext::popLayer(void)
         CairoRenderContext *clip_ctx = 0;
         cairo_surface_t *clip_mask = 0;
 
+        // Apply any clip path first
         if (clip_path) {
+            TRACE(("  Applying clip\n"));
             if (_render_mode == RENDER_MODE_CLIP)
                 mask = NULL;    // disable mask when performing nested clipping
 
             if (_vector_based_target) {
-                setClipMode(CLIP_MODE_PATH);
+                setClipMode(CLIP_MODE_PATH); // Vector
                 if (!mask) {
                     cairo_pop_group_to_source(_cr);
-                    _renderer->applyClipPath(this, clip_path);
+                    _renderer->applyClipPath(this, clip_path); // Uses cairo_clip()
                     if (opacity == 1.0)
                         cairo_paint(_cr);
                     else
@@ -570,7 +586,10 @@ CairoRenderContext::popLayer(void)
                 // setup a new rendering context
                 clip_ctx = _renderer->createContext();
                 clip_ctx->setImageTarget(CAIRO_FORMAT_A8);
-                clip_ctx->setClipMode(CLIP_MODE_MASK);
+                clip_ctx->setClipMode(CLIP_MODE_MASK);  // Raster
+                // This code ties the clipping to the document coordinates. It doesn't allow
+                // for a clipped object intially drawn off the page and then translated onto
+                // the page.
                 if (!clip_ctx->setupSurface(_width, _height)) {
                     TRACE(("clip: setupSurface failed\n"));
                     _renderer->destroyContext(clip_ctx);
@@ -583,7 +602,7 @@ CairoRenderContext::popLayer(void)
                 cairo_paint(clip_ctx->_cr);
                 cairo_restore(clip_ctx->_cr);
 
-                // if a mask won't be applied set opacity too
+                // If a mask won't be applied set opacity too. (The clip is represented by a solid Cairo mask.)
                 if (!mask)
                     cairo_set_source_rgba(clip_ctx->_cr, 1.0, 1.0, 1.0, opacity);
                 else
@@ -614,7 +633,9 @@ CairoRenderContext::popLayer(void)
             }
         }
 
+        // Apply any mask second
         if (mask) {
+            TRACE(("  Applying mask\n"));
             // create rendering context for mask
             CairoRenderContext *mask_ctx = _renderer->createContext();
 
@@ -685,6 +706,7 @@ CairoRenderContext::popLayer(void)
             _renderer->destroyContext(mask_ctx);
         }
     } else {
+        // No clip path or mask
         cairo_pop_group_to_source(_cr);
         if (opacity == 1.0)
             cairo_paint(_cr);
index 72a1790cf2f35f1754d7323ff6f6ba4136238fcc..23845598e18ffd53289111ce7cec0320ef0dbf27 100644 (file)
@@ -48,7 +48,7 @@ struct CairoGlyphInfo {
 
 struct CairoRenderState {
     unsigned int merge_opacity : 1;     // whether fill/stroke opacity can be mul'd with item opacity
-    unsigned int need_layer : 1;
+    unsigned int need_layer : 1;        // whether object is masked, clipped, and/or has a non-zero opacity
     unsigned int has_overflow : 1;
     unsigned int parent_has_userspace : 1;  // whether the parent's ctm should be applied
     float opacity;
@@ -164,7 +164,7 @@ protected:
     unsigned int _is_valid : 1;
     unsigned int _vector_based_target : 1;
 
-    cairo_t *_cr;
+    cairo_t *_cr; // Cairo context
     cairo_surface_t *_surface;
     cairo_surface_type_t _target;
     cairo_format_t _target_format;
index cccb10a8d8d1ae03ece8765ab10cbe660d9fcf9c..07d799b0f35d4be38129dc58f38fc671409117d0 100644 (file)
 #include <signal.h>
 #include <errno.h>
 
-#include <libnr/nr-matrix-ops.h>
-#include <libnr/nr-matrix-fns.h>
-#include <libnr/nr-matrix-translate-ops.h>
-#include <libnr/nr-scale-matrix-ops.h>
-
-#include "libnr/nr-matrix-rotate-ops.h"
-#include "libnr/nr-matrix-translate-ops.h"
-#include "libnr/nr-rotate-fns.h"
-#include "libnr/nr-scale-ops.h"
-#include "libnr/nr-scale-translate-ops.h"
-#include "libnr/nr-translate-matrix-ops.h"
-#include "libnr/nr-translate-scale-ops.h"
-#include "libnr/nr-convert2geom.h"
+#include "libnr/nr-rect.h"
 #include <2geom/transforms.h>
 #include <2geom/pathvector.h>
 
index cdd02882a82e6ea171de9629bdf028a5fa647208..366bab0006fec8dcf59c3157eccf884a11ebd0ff 100644 (file)
@@ -85,9 +85,9 @@ Grid::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc
         bounding_area = Geom::Rect(  Geom::Point(0,0),
                                      Geom::Point(sp_document_width(doc), sp_document_height(doc))  );
     } else {
-        boost::optional<NR::Rect> bounds = selection->bounds();
+        boost::optional<Geom::Rect> bounds = selection->bounds();
         if (bounds) {
-            bounding_area = to_2geom(*bounds);
+            bounding_area = *bounds;
         }
 
         gdouble doc_height  =  sp_document_height(document->doc());
index 01690628964480c352f800d5e9c811d49831bd6a..a74e17a1073fc58dd13618e000d37cda004ba31f 100644 (file)
@@ -964,10 +964,10 @@ static Geom::Matrix getODFTransform(const SPItem *item)
  */
 static boost::optional<Geom::Rect> getODFBoundingBox(const SPItem *item)
 {
-    boost::optional<NR::Rect> bbox_temp = sp_item_bbox_desktop((SPItem *)item);
+    boost::optional<Geom::Rect> bbox_temp = sp_item_bbox_desktop((SPItem *)item);
     boost::optional<Geom::Rect> bbox;
     if (bbox_temp) {
-        bbox = to_2geom(*bbox_temp);
+        bbox = *bbox_temp;
         double doc_height    = sp_document_height(SP_ACTIVE_DOCUMENT);
         Geom::Matrix doc2dt_tf = Geom::Matrix(Geom::Scale(1.0, -1.0));
         doc2dt_tf            = doc2dt_tf * Geom::Matrix(Geom::Translate(0, doc_height));
index 97582bd1336fe8d96f7e1d91477626de903f75c2..f8b3d999e77d4ceb419c8657e67520e09242ecdf 100644 (file)
@@ -553,7 +553,7 @@ PrintPS::finish(Inkscape::Extension::Print *mod)
         int const width = (int) (_width * dots_per_pt + 0.5);
         int const height = (int) (_height * dots_per_pt + 0.5);
 
-        NR::Matrix affine;
+        Geom::Matrix affine;
         affine[0] = width / ((x1 - x0) * PX_PER_PT);
         affine[1] = 0.0;
         affine[2] = 0.0;
@@ -575,7 +575,7 @@ PrintPS::finish(Inkscape::Extension::Print *mod)
 
             /* Update to renderable state. */
             NRGC gc(NULL);
-            gc.transform.set_identity();
+            gc.transform.setIdentity();
             nr_arena_item_invoke_update(mod->root, &bbox, &gc, NR_ARENA_ITEM_STATE_ALL, NR_ARENA_ITEM_STATE_NONE);
             /* Render */
             /* This should take guchar* instead of unsigned char*) */
index 85f502f00e8d2eb1222df7c024949eb9c9b40584..ecf66ca1fa8a9abdf84ee77830392cdb82f619e9 100644 (file)
@@ -251,7 +251,6 @@ PrintWin32::finish (Inkscape::Extension::Print *mod)
     float scalex, scaley;
     int x0, y0, x1, y1;
     int width, height;
-    NR::Matrix affine;
     unsigned char *px;
     int sheight, row;
     BITMAPINFO bmInfo = {
@@ -293,14 +292,9 @@ PrintWin32::finish (Inkscape::Extension::Print *mod)
     scaley = dpiY / 72.0;
 
     // We simply map document 0,0 to physical page 0,0
-    affine[0] = scalex / 1.25;
-    affine[1] = 0.0;
-    affine[2] = 0.0;
-    affine[3] = scaley / 1.25;
-    affine[4] = 0.0;
-    affine[5] = 0.0;
+    Geom::Matrix affine = Geom::Scale(scalex / 1.25, scaley / 1.25);
 
-    nr_arena_item_set_transform (mod->root, &affine);
+    nr_arena_item_set_transform (mod->root, affine);
 
     // Calculate printable area in device coordinates
     x0 = pPhysicalOffsetX;
@@ -333,7 +327,7 @@ PrintWin32::finish (Inkscape::Extension::Print *mod)
         bbox.x1 = bbox.x0 + width;
         bbox.y1 = bbox.y0 + num_rows;
         /* Update to renderable state */
-        gc.transform.set_identity();
+        gc.transform.setIdentity();
         nr_arena_item_invoke_update (mod->root, &bbox, &gc, NR_ARENA_ITEM_STATE_ALL, NR_ARENA_ITEM_STATE_NONE);
 
         nr_pixblock_setup_extern (&pb, NR_PIXBLOCK_MODE_R8G8B8A8N, bbox.x0, bbox.y0, bbox.x1, bbox.y1, px, 4 * (bbox.x1 - bbox.x0), FALSE, FALSE);
index d38efb3046cd20f16990adef47864758f7d43770..b2f53b96714f880a5fd6766f55f04ae654086f8f 100644 (file)
@@ -990,7 +990,7 @@ file_import(SPDocument *in_doc, const Glib::ustring &uri,
                 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<Geom::Rect> sel_bbox = selection->bounds_2geom();
+                boost::optional<Geom::Rect> sel_bbox = selection->bounds();
                 if (sel_bbox) {
                     Geom::Point m( desktop->point() - sel_bbox->midpoint() );
                     sp_selection_move_relative(selection, m);
index 0c516aa27cf473b1cf582587c7a8ca6ca9e512f8..5bb34415d96e9496eafbd908726058ed81f2cba1 100644 (file)
@@ -319,20 +319,20 @@ new_filter_blend_gaussian_blur (SPDocument *document, const char *blendmode, gdo
 SPFilter *
 new_filter_simple_from_item (SPDocument *document, SPItem *item, const char *mode, gdouble radius)
 {
-    boost::optional<NR::Rect> const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX);
+    boost::optional<Geom::Rect> const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX);
 
     double width;
     double height;
     if (r) {
-        width = r->extent(NR::X);
-        height= r->extent(NR::Y);
+        width = r->dimensions()[Geom::X];
+        height= r->dimensions()[Geom::Y];
     } else {
         width = height = 0;
     }
 
-    NR::Matrix i2d (sp_item_i2d_affine (item) );
+    Geom::Matrix i2d (sp_item_i2d_affine (item) );
 
-    return (new_filter_blend_gaussian_blur (document, mode, radius, NR::expansion(i2d), NR::expansionX(i2d), NR::expansionY(i2d), width, height));
+    return (new_filter_blend_gaussian_blur (document, mode, radius, i2d.descrim(), i2d.expansionX(), i2d.expansionY(), width, height));
 }
 
 /**
@@ -374,12 +374,12 @@ modify_filter_gaussian_blur_from_item(SPDocument *document, SPItem *item,
         stdDeviation /= expansion;
 
     // Get the object size
-    boost::optional<NR::Rect> const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX);
+    boost::optional<Geom::Rect> const r = sp_item_bbox_desktop(item, SPItem::GEOMETRIC_BBOX);
     double width;
     double height;
     if (r) {
-        width = r->extent(NR::X);
-        height= r->extent(NR::Y);
+        width = r->dimensions()[Geom::X];
+        height= r->dimensions()[Geom::Y];
     } else {
         width = height = 0;
     }
index d2e6290b26c88343542b3d165385d6f8806ac6f1..47e3d3d2beaad4a96846a87a55d41e4cf0c0024b 100644 (file)
@@ -801,7 +801,7 @@ static void sp_flood_do_flood_fill(SPEventContext *event_context, GdkEvent *even
     sp_document_ensure_up_to_date (document);
     
     SPItem *document_root = SP_ITEM(SP_DOCUMENT_ROOT(document));
-    boost::optional<Geom::Rect> bbox = to_2geom(document_root->getBounds(Geom::identity()));
+    boost::optional<Geom::Rect> bbox = document_root->getBounds(Geom::identity());
 
     if (!bbox) {
         desktop->messageStack()->flash(Inkscape::WARNING_MESSAGE, _("<b>Area is not bounded</b>, cannot fill."));
@@ -833,7 +833,7 @@ static void sp_flood_do_flood_fill(SPEventContext *event_context, GdkEvent *even
     nr_arena_item_set_transform(NR_ARENA_ITEM(root), affine);
 
     NRGC gc(NULL);
-    gc.transform.set_identity();
+    gc.transform.setIdentity();
     
     NRRectL final_bbox;
     final_bbox.x0 = 0;
index 26945def604e8ca2ba0849417c8cbf43cbc06e8b..7b32b37d72de67020a308fd7037478c6bf3d8d65 100644 (file)
@@ -284,21 +284,21 @@ sp_gradient_reset_to_userspace (SPGradient *gr, SPItem *item)
 
     // calculate the bbox of the item
     sp_document_ensure_up_to_date(SP_OBJECT_DOCUMENT(item));
-    boost::optional<NR::Rect> bbox = item->getBounds(NR::identity()); // we need "true" bbox without item_i2d_affine
+    boost::optional<Geom::Rect> bbox = item->getBounds(Geom::identity()); // we need "true" bbox without item_i2d_affine
 
     if ( !bbox || bbox->isEmpty() )
         return gr;
 
-    NR::Coord const width = bbox->dimensions()[NR::X];
-    NR::Coord const height = bbox->dimensions()[NR::Y];
+    Geom::Coord const width = bbox->dimensions()[Geom::X];
+    Geom::Coord const height = bbox->dimensions()[Geom::Y];
 
-    NR::Point const center = bbox->midpoint();
+    Geom::Point const center = bbox->midpoint();
 
     if (SP_IS_RADIALGRADIENT(gr)) {
-        sp_repr_set_svg_double(repr, "cx", center[NR::X]);
-        sp_repr_set_svg_double(repr, "cy", center[NR::Y]);
-        sp_repr_set_svg_double(repr, "fx", center[NR::X]);
-        sp_repr_set_svg_double(repr, "fy", center[NR::Y]);
+        sp_repr_set_svg_double(repr, "cx", center[Geom::X]);
+        sp_repr_set_svg_double(repr, "cy", center[Geom::Y]);
+        sp_repr_set_svg_double(repr, "fx", center[Geom::X]);
+        sp_repr_set_svg_double(repr, "fy", center[Geom::Y]);
         sp_repr_set_svg_double(repr, "r", width/2);
 
         // we want it to be elliptic, not circular
@@ -313,10 +313,10 @@ sp_gradient_reset_to_userspace (SPGradient *gr, SPItem *item)
             g_free(c);
         }
     } else {
-        sp_repr_set_svg_double(repr, "x1", (center - NR::Point(width/2, 0))[NR::X]);
-        sp_repr_set_svg_double(repr, "y1", (center - NR::Point(width/2, 0))[NR::Y]);
-        sp_repr_set_svg_double(repr, "x2", (center + NR::Point(width/2, 0))[NR::X]);
-        sp_repr_set_svg_double(repr, "y2", (center + NR::Point(width/2, 0))[NR::Y]);
+        sp_repr_set_svg_double(repr, "x1", (center - Geom::Point(width/2, 0))[Geom::X]);
+        sp_repr_set_svg_double(repr, "y1", (center - Geom::Point(width/2, 0))[Geom::Y]);
+        sp_repr_set_svg_double(repr, "x2", (center + Geom::Point(width/2, 0))[Geom::X]);
+        sp_repr_set_svg_double(repr, "y2", (center + Geom::Point(width/2, 0))[Geom::Y]);
     }
 
     // set the gradientUnits
@@ -344,15 +344,15 @@ sp_gradient_convert_to_userspace(SPGradient *gr, SPItem *item, gchar const *prop
 
         // calculate the bbox of the item
         sp_document_ensure_up_to_date(SP_OBJECT_DOCUMENT(item));
-        NR::Matrix bbox2user;
-        boost::optional<NR::Rect> bbox = item->getBounds(NR::identity()); // we need "true" bbox without item_i2d_affine
+        Geom::Matrix bbox2user;
+        boost::optional<Geom::Rect> bbox = item->getBounds(Geom::identity()); // we need "true" bbox without item_i2d_affine
         if ( bbox && !bbox->isEmpty() ) {
-            bbox2user = NR::Matrix(bbox->dimensions()[NR::X], 0,
-                                   0, bbox->dimensions()[NR::Y],
-                                   bbox->min()[NR::X], bbox->min()[NR::Y]);
+            bbox2user = Geom::Matrix(bbox->dimensions()[Geom::X], 0,
+                                   0, bbox->dimensions()[Geom::Y],
+                                   bbox->min()[Geom::X], bbox->min()[Geom::Y]);
         } else {
             // would be degenerate otherwise
-            bbox2user = NR::identity();
+            bbox2user = Geom::identity();
         }
 
         /* skew is the additional transform, defined by the proportions of the item, that we need
@@ -369,8 +369,8 @@ sp_gradient_convert_to_userspace(SPGradient *gr, SPItem *item, gchar const *prop
          *   gradient vector in user space due to application of the non-uniform scaling
          *   transformation from bounding box space to user space.
          */
-        NR::Matrix skew = bbox2user;
-        double exp = NR::expansion(skew);
+        Geom::Matrix skew = bbox2user;
+        double exp = skew.descrim();
         skew[0] /= exp;
         skew[1] /= exp;
         skew[2] /= exp;
@@ -388,40 +388,40 @@ sp_gradient_convert_to_userspace(SPGradient *gr, SPItem *item, gchar const *prop
 
         // Matrix to convert points to userspace coords; postmultiply by inverse of skew so
         // as to cancel it out when it's applied to the gradient during rendering
-        NR::Matrix point_convert = bbox2user * skew.inverse();
+        Geom::Matrix point_convert = bbox2user * skew.inverse();
 
         if (SP_IS_RADIALGRADIENT(gr)) {
             SPRadialGradient *rg = SP_RADIALGRADIENT(gr);
 
             // original points in the bbox coords
-            NR::Point c_b = NR::Point(rg->cx.computed, rg->cy.computed);
-            NR::Point f_b = NR::Point(rg->fx.computed, rg->fy.computed);
+            Geom::Point c_b = Geom::Point(rg->cx.computed, rg->cy.computed);
+            Geom::Point f_b = Geom::Point(rg->fx.computed, rg->fy.computed);
             double r_b = rg->r.computed;
 
             // converted points in userspace coords
-            NR::Point c_u = c_b * point_convert;
-            NR::Point f_u = f_b * point_convert;
-            double r_u = r_b * NR::expansion(point_convert);
-
-            sp_repr_set_svg_double(repr, "cx", c_u[NR::X]);
-            sp_repr_set_svg_double(repr, "cy", c_u[NR::Y]);
-            sp_repr_set_svg_double(repr, "fx", f_u[NR::X]);
-            sp_repr_set_svg_double(repr, "fy", f_u[NR::Y]);
+            Geom::Point c_u = c_b * point_convert;
+            Geom::Point f_u = f_b * point_convert;
+            double r_u = r_b * point_convert.descrim();
+
+            sp_repr_set_svg_double(repr, "cx", c_u[Geom::X]);
+            sp_repr_set_svg_double(repr, "cy", c_u[Geom::Y]);
+            sp_repr_set_svg_double(repr, "fx", f_u[Geom::X]);
+            sp_repr_set_svg_double(repr, "fy", f_u[Geom::Y]);
             sp_repr_set_svg_double(repr, "r", r_u);
 
         } else {
             SPLinearGradient *lg = SP_LINEARGRADIENT(gr);
 
-            NR::Point p1_b = NR::Point(lg->x1.computed, lg->y1.computed);
-            NR::Point p2_b = NR::Point(lg->x2.computed, lg->y2.computed);
+            Geom::Point p1_b = Geom::Point(lg->x1.computed, lg->y1.computed);
+            Geom::Point p2_b = Geom::Point(lg->x2.computed, lg->y2.computed);
 
-            NR::Point p1_u = p1_b * point_convert;
-            NR::Point p2_u = p2_b * point_convert;
+            Geom::Point p1_u = p1_b * point_convert;
+            Geom::Point p2_u = p2_b * point_convert;
 
-            sp_repr_set_svg_double(repr, "x1", p1_u[NR::X]);
-            sp_repr_set_svg_double(repr, "y1", p1_u[NR::Y]);
-            sp_repr_set_svg_double(repr, "x2", p2_u[NR::X]);
-            sp_repr_set_svg_double(repr, "y2", p2_u[NR::Y]);
+            sp_repr_set_svg_double(repr, "x1", p1_u[Geom::X]);
+            sp_repr_set_svg_double(repr, "y1", p1_u[Geom::Y]);
+            sp_repr_set_svg_double(repr, "x2", p2_u[Geom::X]);
+            sp_repr_set_svg_double(repr, "y2", p2_u[Geom::Y]);
         }
 
         // set the gradientUnits
@@ -935,12 +935,12 @@ sp_item_gradient_set_coords (SPItem *item, guint point_type, guint point_i, NR::
                                double move_angle = NR::atan2(p_w - c_w) - r1_angle;
                                double move_stretch = NR::L2(p_w - c_w) / NR::L2(r1_w - c_w);
 
-                               NR::Matrix move = NR::Matrix (NR::translate (-c_w)) *
-                                                                                                NR::Matrix (NR::rotate(-r1_angle)) *
-                                                                                                NR::Matrix (NR::scale(move_stretch, scale? move_stretch : 1)) *
-                                                                                                NR::Matrix (NR::rotate(r1_angle)) *
-                                                                                                NR::Matrix (NR::rotate(move_angle)) *
-                                                                                                NR::Matrix (NR::translate (c_w));
+                               NR::Matrix move = NR::Matrix (Geom::Translate (-c_w)) *
+                                                                                                NR::Matrix (Geom::Rotate(-r1_angle)) *
+                                                                                                NR::Matrix (Geom::Scale(move_stretch, scale? move_stretch : 1)) *
+                                                                                                NR::Matrix (Geom::Rotate(r1_angle)) *
+                                                                                                NR::Matrix (Geom::Rotate(move_angle)) *
+                                                                                                NR::Matrix (Geom::Translate (c_w));
 
                                new_transform = gradient->gradientTransform * i2d * move * i2d.inverse();
                                transform_set = true;
@@ -954,12 +954,12 @@ sp_item_gradient_set_coords (SPItem *item, guint point_type, guint point_i, NR::
                                double move_angle = NR::atan2(p_w - c_w) - r2_angle;
                                double move_stretch = NR::L2(p_w - c_w) / NR::L2(r2_w - c_w);
 
-                               NR::Matrix move = NR::Matrix (NR::translate (-c_w)) *
-                                                                                                NR::Matrix (NR::rotate(-r2_angle)) *
-                                                                                                NR::Matrix (NR::scale(move_stretch, scale? move_stretch : 1)) *
-                                                                                                NR::Matrix (NR::rotate(r2_angle)) *
-                                                                                                NR::Matrix (NR::rotate(move_angle)) *
-                                                                                                NR::Matrix (NR::translate (c_w));
+                               NR::Matrix move = NR::Matrix (Geom::Translate (-c_w)) *
+                                                                                                NR::Matrix (Geom::Rotate(-r2_angle)) *
+                                                                                                NR::Matrix (Geom::Scale(move_stretch, scale? move_stretch : 1)) *
+                                                                                                NR::Matrix (Geom::Rotate(r2_angle)) *
+                                                                                                NR::Matrix (Geom::Rotate(move_angle)) *
+                                                                                                NR::Matrix (Geom::Translate (c_w));
 
                                new_transform = gradient->gradientTransform * i2d * move * i2d.inverse();
                                transform_set = true;
@@ -1044,10 +1044,10 @@ sp_item_gradient_get_coords (SPItem *item, guint point_type, guint point_i, bool
 {
     SPGradient *gradient = sp_item_gradient (item, fill_or_stroke);
 
-    NR::Point p (0, 0);
+    Geom::Point p (0, 0);
 
     if (!gradient)
-        return p;
+        return from_2geom(p);
 
     if (SP_IS_LINEARGRADIENT(gradient)) {
         SPLinearGradient *lg = SP_LINEARGRADIENT(gradient);
@@ -1061,7 +1061,7 @@ sp_item_gradient_get_coords (SPItem *item, guint point_type, guint point_i, bool
             case POINT_LG_MID:
                 {   
                     gdouble offset = lg->vector.stops.at(point_i).offset;
-                    p = (1-offset) * NR::Point(lg->x1.computed, lg->y1.computed) + offset * NR::Point(lg->x2.computed, lg->y2.computed);
+                    p = (1-offset) * Geom::Point(lg->x1.computed, lg->y1.computed) + offset * Geom::Point(lg->x2.computed, lg->y2.computed);
                 }
                 break;
         }
@@ -1069,27 +1069,27 @@ sp_item_gradient_get_coords (SPItem *item, guint point_type, guint point_i, bool
         SPRadialGradient *rg = SP_RADIALGRADIENT(gradient);
         switch (point_type) {
             case POINT_RG_CENTER:
-                p = NR::Point (rg->cx.computed, rg->cy.computed);
+                p = Geom::Point (rg->cx.computed, rg->cy.computed);
                 break;
             case POINT_RG_FOCUS:
-                p = NR::Point (rg->fx.computed, rg->fy.computed);
+                p = Geom::Point (rg->fx.computed, rg->fy.computed);
                 break;
             case POINT_RG_R1:
-                p = NR::Point (rg->cx.computed + rg->r.computed, rg->cy.computed);
+                p = Geom::Point (rg->cx.computed + rg->r.computed, rg->cy.computed);
                 break;
             case POINT_RG_R2:
-                p = NR::Point (rg->cx.computed, rg->cy.computed - rg->r.computed);
+                p = Geom::Point (rg->cx.computed, rg->cy.computed - rg->r.computed);
                 break;
             case POINT_RG_MID1:
                 {
                     gdouble offset = rg->vector.stops.at(point_i).offset;
-                    p = (1-offset) * NR::Point (rg->cx.computed, rg->cy.computed) + offset * NR::Point(rg->cx.computed + rg->r.computed, rg->cy.computed);
+                    p = (1-offset) * Geom::Point (rg->cx.computed, rg->cy.computed) + offset * Geom::Point(rg->cx.computed + rg->r.computed, rg->cy.computed);
                 }        
                 break;
             case POINT_RG_MID2:
                 {
                     gdouble offset = rg->vector.stops.at(point_i).offset;
-                    p = (1-offset) * NR::Point (rg->cx.computed, rg->cy.computed) + offset * NR::Point(rg->cx.computed, rg->cy.computed - rg->r.computed);
+                    p = (1-offset) * Geom::Point (rg->cx.computed, rg->cy.computed) + offset * Geom::Point(rg->cx.computed, rg->cy.computed - rg->r.computed);
                 }        
                 break;
         }
@@ -1097,15 +1097,15 @@ sp_item_gradient_get_coords (SPItem *item, guint point_type, guint point_i, bool
 
     if (SP_GRADIENT(gradient)->units == SP_GRADIENT_UNITS_OBJECTBOUNDINGBOX) {
         sp_document_ensure_up_to_date(SP_OBJECT_DOCUMENT(item));
-        boost::optional<NR::Rect> bbox = item->getBounds(NR::identity()); // we need "true" bbox without item_i2d_affine
+        boost::optional<Geom::Rect> bbox = item->getBounds(Geom::identity()); // we need "true" bbox without item_i2d_affine
         if (bbox) {
-            p *= NR::Matrix(bbox->dimensions()[NR::X], 0,
-                            0, bbox->dimensions()[NR::Y],
-                            bbox->min()[NR::X], bbox->min()[NR::Y]);
+            p *= Geom::Matrix(bbox->dimensions()[Geom::X], 0,
+                            0, bbox->dimensions()[Geom::Y],
+                            bbox->min()[Geom::X], bbox->min()[Geom::Y]);
         }
     }
-    p *= NR::Matrix(gradient->gradientTransform) * (NR::Matrix)sp_item_i2d_affine(item);
-    return p;
+    p *= Geom::Matrix(gradient->gradientTransform) * (Geom::Matrix)sp_item_i2d_affine(item);
+    return from_2geom(p);
 }
 
 
index 9432d4b5a004d777c3d111a1271a1b950c639f49..994171d13a48e08c4fb64e70d26c3443a3744d09 100644 (file)
@@ -1723,15 +1723,15 @@ GrDrag::updateLevels ()
 
     for (GSList const* i = this->selection->itemList(); i != NULL; i = i->next) {
         SPItem *item = SP_ITEM(i->data);
-        boost::optional<NR::Rect> rect = sp_item_bbox_desktop (item);
+        boost::optional<Geom::Rect> rect = sp_item_bbox_desktop (item);
         if (rect) {
             // Remember the edges of the bbox and the center axis
-            hor_levels.push_back(rect->min()[NR::Y]);
-            hor_levels.push_back(rect->max()[NR::Y]);
-            hor_levels.push_back(0.5 * (rect->min()[NR::Y] + rect->max()[NR::Y]));
-            vert_levels.push_back(rect->min()[NR::X]);
-            vert_levels.push_back(rect->max()[NR::X]);
-            vert_levels.push_back(0.5 * (rect->min()[NR::X] + rect->max()[NR::X]));
+            hor_levels.push_back(rect->min()[Geom::Y]);
+            hor_levels.push_back(rect->max()[Geom::Y]);
+            hor_levels.push_back(0.5 * (rect->min()[Geom::Y] + rect->max()[Geom::Y]));
+            vert_levels.push_back(rect->min()[Geom::X]);
+            vert_levels.push_back(rect->max()[Geom::X]);
+            vert_levels.push_back(0.5 * (rect->min()[Geom::X] + rect->max()[Geom::X]));
         }
     }
 }
index 2fb641316442bd03e3993c15555959a3ee93d8c8..d0ba2d20ec781c509ebbc0098655a5f73749e9cf 100644 (file)
@@ -68,7 +68,7 @@ struct CheckProgress : TestConvergence {
                 NR::Rect const item_box(sp_item_bbox_desktop(u));
                 NR::Point const curr(item_box.midpoint());
                 NR::Point const dest(r->getCentreX(),r->getCentreY());
-                sp_item_move_rel(u, NR::translate(dest - curr));
+                sp_item_move_rel(u, Geom::Translate(dest - curr));
             }
         }
         */
@@ -124,10 +124,10 @@ void graphlayout(GSList const *const items) {
                ++i)
        {
                SPItem *u=*i;
-               boost::optional<NR::Rect> const item_box(sp_item_bbox_desktop(u));
+               boost::optional<Geom::Rect> const item_box(sp_item_bbox_desktop(u));
         if(item_box) {
-            NR::Point ll(item_box->min());
-            NR::Point ur(item_box->max());
+            Geom::Point ll(item_box->min());
+            Geom::Point ur(item_box->max());
             nodelookup[u->id]=rs.size();
             rs.push_back(new Rectangle(ll[0]-spacing,ur[0]+spacing,
                         ll[1]-spacing,ur[1]+spacing));
@@ -226,10 +226,10 @@ void graphlayout(GSList const *const items) {
                        map<string,unsigned>::iterator i=nodelookup.find(u->id);
                        if(i!=nodelookup.end()) {
                 Rectangle* r=rs[i->second];
-                boost::optional<NR::Rect> item_box(sp_item_bbox_desktop(u));
+                boost::optional<Geom::Rect> item_box(sp_item_bbox_desktop(u));
                 if(item_box) {
-                    NR::Point const curr(item_box->midpoint());
-                    NR::Point const dest(r->getCentreX(),r->getCentreY());
+                    Geom::Point const curr(item_box->midpoint());
+                    Geom::Point const dest(r->getCentreX(),r->getCentreY());
                     sp_item_move_rel(u, Geom::Translate(dest - curr));
                 }
             }
index caa169a272688776422ddb5c18b7d81f5ac22ae0..84f9678606559114f6bdcfa54fbf7559f60a7540 100644 (file)
@@ -494,8 +494,32 @@ pathv_to_linear_and_cubic_beziers( Geom::PathVector const &pathv )
     return output;
 }
 
+namespace Geom {
+
+bool transform_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon) {
+    return
+        NR_DF_TEST_CLOSE(m0[0], m1[0], epsilon) &&
+        NR_DF_TEST_CLOSE(m0[1], m1[1], epsilon) &&
+        NR_DF_TEST_CLOSE(m0[2], m1[2], epsilon) &&
+        NR_DF_TEST_CLOSE(m0[3], m1[3], epsilon);
+}
+
+
+bool translate_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon) {
+    return NR_DF_TEST_CLOSE(m0[4], m1[4], epsilon) && NR_DF_TEST_CLOSE(m0[5], m1[5], epsilon);
+}
 
 
+bool matrix_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon) {
+    return transform_equalp(m0, m1, epsilon) && translate_equalp(m0, m1, epsilon);
+}
+
+} //end namespace Geom
+/*
+The following predefined objects are for reference
+and comparison.
+*/
+Geom::Matrix GEOM_MATRIX_IDENTITY = Geom::identity();
 
 /*
   Local Variables:
index e4cb38fa71652cb4db3bc0cd537d8806b3c0ca16..4cda22a1c920968b1227ce53c42fc33d3e8d51f1 100644 (file)
@@ -25,6 +25,17 @@ void pathv_matrix_point_bbox_wind_distance ( Geom::PathVector const & pathv, Geo
 
 Geom::PathVector pathv_to_linear_and_cubic_beziers( Geom::PathVector const &pathv );
 
+/*
+The following predefined objects are for reference
+and comparison.  They are defined in helper/geom.cpp
+*/
+extern Geom::Matrix GEOM_MATRIX_IDENTITY;
+
+namespace Geom{
+bool transform_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon);
+bool translate_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon);
+bool matrix_equalp(Geom::Matrix const &m0, Geom::Matrix const &m1, Geom::Coord const epsilon);
+}
 #endif  // INKSCAPE_HELPER_GEOM_H
 
 /*
index ee5f72161db11313d812ae17f1b2fb7659b53890..9d795c575df5a0570d27ea401e134040ff379b09 100644 (file)
@@ -123,7 +123,7 @@ sp_generate_internal_bitmap(SPDocument *doc, gchar const */*filename*/,
      nr_arena_item_set_transform(NR_ARENA_ITEM(root), affine);
 
      NRGC gc(NULL);
-     gc.transform.set_identity();
+     gc.transform.setIdentity();
 
      // We show all and then hide all items we don't want, instead of showing only requested items,
      // because that would not work if the shown item references something in defs
index 10fa7d403d519a3f9844eb56915009b90d4f7401..dd405b7d907f874db742589554755773aa45ca07 100644 (file)
@@ -325,7 +325,7 @@ sp_export_get_rows(guchar const **rows, int row, int num_rows, void *data)
     bbox.y1 = row + num_rows;
     /* Update to renderable state */
     NRGC gc(NULL);
-    gc.transform.set_identity();
+    gc.transform.setIdentity();
 
     nr_arena_item_invoke_update(ebp->root, &bbox, &gc,
            NR_ARENA_ITEM_STATE_ALL, NR_ARENA_ITEM_STATE_NONE);
diff --git a/src/helper/recthull.h b/src/helper/recthull.h
new file mode 100644 (file)
index 0000000..59649cf
--- /dev/null
@@ -0,0 +1,59 @@
+#ifndef SEEN_GEOM_RECT_HULL_H
+#define SEEN_GEOM_RECT_HULL_H
+
+/* ex:set et ts=4 sw=4: */
+
+/*
+ * A class representing the convex hull of a set of points.
+ *
+ * Copyright 2004  MenTaLguY <mental@rydia.net>
+ *
+ * This code is licensed under the GNU GPL; see COPYING for more information.
+ */
+
+#include <2geom/rect.h>
+
+namespace Geom {
+
+class RectHull {
+public:
+    RectHull() : _bounds() {}
+       explicit RectHull(Point const &p) : _bounds(Rect(p, p)) {}
+
+    boost::optional<Point> midpoint() const {
+        if (_bounds) {
+            return _bounds->midpoint();
+        } else {
+            return boost::optional<Point>();
+        }
+    }
+
+       void add(Point const &p) {
+        if (_bounds) {
+                   _bounds->expandTo(p);
+        } else {
+            _bounds = Rect(p, p);
+        }
+       }
+       void add(Rect const &r) {
+               // Note that this is a hack.  when convexhull actually works
+               // you will need to add all four points.
+        _bounds = unify(_bounds, r);
+       }
+       void add(RectHull const &h) {
+        if (h._bounds) {
+            add(*h._bounds);
+        }
+       }
+
+       boost::optional<Rect> const &bounds() const {
+               return _bounds;
+       }
+       
+private:
+    boost::optional<Rect> _bounds;
+};
+
+} /* namespace Geom */
+
+#endif
index dca23d5396fd8e294e3082b41d3ae4d31152f465..bf3c25e94b4bc30a36194a459e9c65ade33a1fa5 100644 (file)
@@ -148,6 +148,7 @@ static void (* ill_handler)  (int) = SIG_DFL;
 static void (* bus_handler)  (int) = SIG_DFL;
 
 #define INKSCAPE_PROFILE_DIR "Inkscape"
+#define INKSCAPE_LEGACY_PROFILE_DIR ".inkscape"
 #define MENUS_FILE "menus.xml"
 
 
@@ -326,8 +327,8 @@ static gint inkscape_autosave(gpointer)
     gint docnum = 0;
 
     SP_ACTIVE_DESKTOP->messageStack()->flash(Inkscape::NORMAL_MESSAGE, _("Autosaving documents..."));
-    for (std::map<SPDocument*,int>::iterator iter = inkscape->document_set.begin(); 
-          iter != inkscape->document_set.end(); 
+    for (std::map<SPDocument*,int>::iterator iter = inkscape->document_set.begin();
+          iter != inkscape->document_set.end();
           ++iter) {
 
         SPDocument *doc = iter->first;
@@ -588,8 +589,8 @@ inkscape_crash_handler (int /*signum*/)
     gint count = 0;
     GSList *savednames = NULL;
     GSList *failednames = NULL;
-    for (std::map<SPDocument*,int>::iterator iter = inkscape->document_set.begin(); 
-          iter != inkscape->document_set.end(); 
+    for (std::map<SPDocument*,int>::iterator iter = inkscape->document_set.begin();
+          iter != inkscape->document_set.end();
           ++iter) {
         SPDocument *doc = iter->first;
         Inkscape::XML::Node *repr;
@@ -763,8 +764,8 @@ inkscape_application_init (const gchar *argv0, gboolean use_gui)
     sp_input_load_from_preferences();
 
     /* DebugDialog redirection.  On Linux, default to OFF, on Win32, default to ON.
-        * Use only if use_gui is enabled
-        */
+     * Use only if use_gui is enabled
+     */
 #ifdef WIN32
 #define DEFAULT_LOG_REDIRECT true
 #else
@@ -773,7 +774,7 @@ inkscape_application_init (const gchar *argv0, gboolean use_gui)
 
     if (use_gui == TRUE && prefs->getBool("dialogs.debug", "redirect", DEFAULT_LOG_REDIRECT))
     {
-               Inkscape::UI::Dialogs::DebugDialog::getInstance()->captureLogMessages();
+        Inkscape::UI::Dialogs::DebugDialog::getInstance()->captureLogMessages();
     }
 
     /* Check for global remapping of Alt key */
@@ -1186,8 +1187,8 @@ inkscape_add_document (SPDocument *document)
         // try to insert the pair into the list
         if (!(inkscape->document_set.insert(std::make_pair(document, 1)).second)) {
             //insert failed, this key (document) is already in the list
-            for (std::map<SPDocument*,int>::iterator iter = inkscape->document_set.begin(); 
-                   iter != inkscape->document_set.end(); 
+            for (std::map<SPDocument*,int>::iterator iter = inkscape->document_set.begin();
+                   iter != inkscape->document_set.end();
                    ++iter) {
                 if (iter->first == document) {
                     // found this document in list, increase its count
@@ -1211,8 +1212,8 @@ inkscape_remove_document (SPDocument *document)
 
     if (!Inkscape::NSApplication::Application::getNewGui())
     {
-        for (std::map<SPDocument*,int>::iterator iter = inkscape->document_set.begin(); 
-                  iter != inkscape->document_set.end(); 
+        for (std::map<SPDocument*,int>::iterator iter = inkscape->document_set.begin();
+                  iter != inkscape->document_set.end();
                   ++iter) {
             if (iter->first == document) {
                 // found this document in list, decrease its count
@@ -1384,13 +1385,27 @@ profile_path(const char *filename)
                 }
                 */
             }
+
+            if (prefdir) {
+                prefdir = g_build_filename(prefdir, INKSCAPE_PROFILE_DIR, NULL);
+            }
         }
 #endif
         if (!prefdir) {
-            prefdir = homedir_path(".config");
+            prefdir = g_build_filename(g_get_user_config_dir(), INKSCAPE_PROFILE_DIR, NULL);
+            gchar * legacyDir = homedir_path(INKSCAPE_LEGACY_PROFILE_DIR);
+
+            // TODO here is a point to hook in preference migration
+
+            if ( !Inkscape::IO::file_test( prefdir, G_FILE_TEST_EXISTS ) && Inkscape::IO::file_test( legacyDir, G_FILE_TEST_EXISTS ) ) {
+                prefdir = legacyDir;
+            } else {
+                g_free(legacyDir);
+                legacyDir = 0;
+            }
         }
     }
-    return g_build_filename(prefdir, INKSCAPE_PROFILE_DIR, filename, NULL);
+    return g_build_filename(prefdir, filename, NULL);
 }
 
 Inkscape::XML::Node *
index 35e7bf9571a49751993928eedafe6da2a372076a..1bc00a250840e0d3f8774e9226511ef6ae66c440 100644 (file)
@@ -1256,7 +1256,7 @@ sp_ui_drag_data_received(GtkWidget *widget,
                 int const saved_pref = prefs_get_int_attribute("options.transform", "pattern", 1);
                 prefs_set_int_attribute("options.transform", "pattern", 1);
                 sp_document_ensure_up_to_date(sp_desktop_document(desktop));
-                boost::optional<Geom::Rect> sel_bbox = selection->bounds_2geom();
+                boost::optional<Geom::Rect> sel_bbox = selection->bounds();
                 if (sel_bbox) {
                     Geom::Point m( desktop->point() - sel_bbox->midpoint() );
                     sp_selection_move_relative(selection, m);
index 46f21965b051e1b4400caa7199fc1271ce10a508..1fd6bc4b52b87c2d115cf3a7baeddb044bb8bf92 100644 (file)
@@ -137,7 +137,7 @@ PatternKnotHolderEntityXY::knot_set(Geom::Point const &p, Geom::Point const &ori
 
     if (state)  {
         Geom::Point const q = p_snapped - sp_pattern_extract_trans(pat);
-        sp_item_adjust_pattern(item, NR::Matrix(NR::translate(q)));
+        sp_item_adjust_pattern(item, NR::Matrix(Geom::Translate(q)));
     }
 
     item->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
@@ -182,7 +182,7 @@ PatternKnotHolderEntityAngle::knot_set(Geom::Point const &p, Geom::Point const &
 
     // get the scale from the current transform so we can keep it.
     Geom::Point scl = sp_pattern_extract_scale(pat);
-    NR::Matrix rot = NR::Matrix(NR::scale(scl)) * NR::Matrix(NR::rotate(theta));
+    NR::Matrix rot = NR::Matrix(Geom::Scale(scl)) * NR::Matrix(Geom::Rotate(theta));
     Geom::Point const t = sp_pattern_extract_trans(pat);
     rot[4] = t[NR::X];
     rot[5] = t[NR::Y];
index c8a139aa2b1dfe0097de08bd650f292e594b104c..7b501cddc109258495178546bfa2d98c75657384 100644 (file)
@@ -61,12 +61,6 @@ inline Geom::Scale to_2geom(NR::scale const & in) {
     return Geom::Scale(in[NR::X], in[NR::Y]);
 }
 
-inline void to_2geom(std::vector<NR::Point> const &in_NR, std::vector<Geom::Point> &out_2geom) {
-    for (std::vector<NR::Point>::const_iterator it = in_NR.begin(); it != in_NR.end(); it++) {
-        out_2geom.push_back(to_2geom(*it));
-    }    
-}
-
 #endif
 
 /*
index 77af27417517d6b9dadfce6a35b7d600f74a2a10..620782996417fb22dc96399dcde8572fc947c6cd 100644 (file)
@@ -28,6 +28,17 @@ NRRect::NRRect(boost::optional<NR::Rect> const &rect) {
     }
 }
 
+NRRect::NRRect(boost::optional<Geom::Rect> const &rect) {
+    if (rect) {
+        x0 = rect->min()[Geom::X];
+        y0 = rect->min()[Geom::Y];
+        x1 = rect->max()[Geom::X];
+        y1 = rect->max()[Geom::Y];
+    } else {
+        nr_rect_d_set_empty(this);
+    }
+}
+
 boost::optional<NR::Rect> NRRect::upgrade() const {
     if (nr_rect_d_test_empty_ptr(this)) {
         return boost::optional<NR::Rect>();
@@ -36,6 +47,14 @@ boost::optional<NR::Rect> NRRect::upgrade() const {
     }
 }
 
+boost::optional<Geom::Rect> NRRect::upgrade_2geom() const {
+    if (nr_rect_d_test_empty_ptr(this)) {
+        return boost::optional<Geom::Rect>();
+    } else {
+        return Geom::Rect(Geom::Point(x0, y0), Geom::Point(x1, y1));
+    }
+}
+
 /**
  *    \param r0 Rectangle.
  *    \param r1 Another rectangle.
index 7d130fd183f2586157631b5c81eed67704ed741d..83f780efdd051fadd7bf8f5b271e3e90b979ca60 100644 (file)
@@ -25,6 +25,7 @@
 #include <boost/optional.hpp>
 #include <libnr/nr-point-matrix-ops.h>
 #include <libnr/nr-forward.h>
+#include <2geom/rect.h>
 
 namespace NR {
 
@@ -243,6 +244,9 @@ struct NRRect {
     explicit NRRect(boost::optional<NR::Rect> const &rect);
     operator boost::optional<NR::Rect>() const { return upgrade(); }
     boost::optional<NR::Rect> upgrade() const;
+    explicit NRRect(boost::optional<Geom::Rect> const &rect);
+    operator boost::optional<Geom::Rect>() const { return upgrade_2geom(); }
+    boost::optional<Geom::Rect> upgrade_2geom() const;
 
     NR::Coord x0, y0, x1, y1;
 };
index 7c741ac4ce466838da20f4a2a6bc895e08c0075d..a7f5a8fd18dc387ce897bf97ce25ee714f56d5ca 100644 (file)
@@ -11,8 +11,7 @@
 #include "livarot/path-description.h"
 
 #include <libnr/nr-matrix.h>
-#include <libnr/nr-rotate-ops.h>
-#include <libnr/nr-scale-ops.h>
+#include <2geom/transforms.h>
 
 /*
  * path description -> polyline
@@ -1089,23 +1088,24 @@ void Path::DoArc(NR::Point const &iS, NR::Point const &iE,
 
     double sang;
     double eang;
-    NR::Point dr;
-    ArcAnglesAndCenter(iS, iE, rx, ry, angle, large, wise, sang, eang, dr);
+    NR::Point dr_temp;
+    ArcAnglesAndCenter(iS, iE, rx, ry, angle, large, wise, sang, eang, dr_temp);
+    Geom::Point dr = dr_temp;
     /* TODO: This isn't as good numerically as treating iS and iE as primary.  E.g. consider
        the case of low curvature (i.e. very large radius). */
 
-    NR::scale const ar(rx, ry);
-    NR::rotate cb( angle + sang );
+    Geom::Scale const ar(rx, ry);
+    Geom::Rotate cb( angle + sang );
     if (wise) {
 
         double const incr = -0.1;
         if ( sang < eang ) {
             sang += 2*M_PI;
         }
-        NR::rotate const omega(incr);
+        Geom::Rotate const omega(incr);
         for (double b = sang + incr ; b > eang ; b += incr) {
             cb = omega * cb;
-            AddPoint( cb.vec * ar + dr );
+            AddPoint( cb.vector() * ar + dr );
         }
 
     } else {
@@ -1114,10 +1114,10 @@ void Path::DoArc(NR::Point const &iS, NR::Point const &iE,
         if ( sang > eang ) {
             sang -= 2*M_PI;
         }
-        NR::rotate const omega(incr);
+        Geom::Rotate const omega(incr);
         for (double b = sang + incr ; b < eang ; b += incr) {
             cb = omega * cb;
-            AddPoint( cb.vec * ar + dr);
+            AddPoint( cb.vector() * ar + dr);
         }
     }
 }
@@ -1231,23 +1231,24 @@ void Path::DoArc(NR::Point const &iS, NR::Point const &iE,
 
     double sang;
     double eang;
-    NR::Point dr;
-    ArcAnglesAndCenter(iS, iE, rx, ry, angle, large, wise, sang, eang, dr);
+    NR::Point dr_temp;
+    ArcAnglesAndCenter(iS, iE, rx, ry, angle, large, wise, sang, eang, dr_temp);
+    Geom::Point dr = dr_temp;
     /* TODO: This isn't as good numerically as treating iS and iE as primary.  E.g. consider
        the case of low curvature (i.e. very large radius). */
 
-    NR::scale const ar(rx, ry);
-    NR::rotate cb(angle + sang);
+    Geom::Scale const ar(rx, ry);
+    Geom::Rotate cb(angle + sang);
     if (wise) {
 
         double const incr = -0.1;
         if ( sang < eang ) {
             sang += 2*M_PI;
         }
-        NR::rotate const omega(incr);
+        Geom::Rotate const omega(incr);
         for (double b = sang + incr; b > eang; b += incr) {
             cb = omega * cb;
-            AddPoint(cb.vec * ar + dr, piece, (sang - b) / (sang - eang));
+            AddPoint(cb.vector() * ar + dr, piece, (sang - b) / (sang - eang));
         }
 
     } else {
@@ -1256,10 +1257,10 @@ void Path::DoArc(NR::Point const &iS, NR::Point const &iE,
         if ( sang > eang ) {
             sang -= 2 * M_PI;
         }
-        NR::rotate const omega(incr);
+        Geom::Rotate const omega(incr);
         for (double b = sang + incr ; b < eang ; b += incr) {
             cb = omega * cb;
-            AddPoint(cb.vec * ar + dr, piece, (b - sang) / (eang - sang));
+            AddPoint(cb.vector() * ar + dr, piece, (b - sang) / (eang - sang));
         }
     }
 }
@@ -1348,23 +1349,24 @@ void Path::DoArc(NR::Point const &iS, NR::Point const &iE,
 
     double sang;
     double eang;
-    NR::Point dr;
-    ArcAnglesAndCenter(iS, iE, rx, ry, angle, large, wise, sang, eang, dr);
+    NR::Point dr_temp;
+    ArcAnglesAndCenter(iS, iE, rx, ry, angle, large, wise, sang, eang, dr_temp);
+    Geom::Point dr = dr_temp;
     /* TODO: This isn't as good numerically as treating iS and iE as primary.  E.g. consider
        the case of low curvature (i.e. very large radius). */
 
-    NR::scale const ar(rx, ry);
-    NR::rotate cb(angle + sang);
+    Geom::Scale const ar(rx, ry);
+    Geom::Rotate cb(angle + sang);
     if (wise) {
 
         double const incr = -0.1;
         if ( sang < eang ) {
             sang += 2*M_PI;
         }
-        NR::rotate const omega(incr);
+        Geom::Rotate const omega(incr);
         for (double b = sang + incr; b > eang ;b += incr) {
             cb = omega * cb;
-            AddPoint(cb.vec * ar + dr, piece, (sang - b) / (sang - eang));
+            AddPoint(cb.vector() * ar + dr, piece, (sang - b) / (sang - eang));
         }
 
     } else {
@@ -1372,10 +1374,10 @@ void Path::DoArc(NR::Point const &iS, NR::Point const &iE,
         if ( sang > eang ) {
             sang -= 2*M_PI;
         }
-        NR::rotate const omega(incr);
+        Geom::Rotate const omega(incr);
         for (double b = sang + incr ; b < eang ; b += incr) {
             cb = omega * cb;
-            AddPoint(cb.vec * ar + dr, piece, (b - sang) / (eang - sang));
+            AddPoint(cb.vector() * ar + dr, piece, (b - sang) / (eang - sang));
         }
     }
 }
index f4ece6892d75f42fd964235698d1fdbccab56615..e9f2ae6776f31c0a7989e0dac3b9f13f0adb449e 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "Path.h"
 #include "Shape.h"
-#include <libnr/nr-rotate-ops.h>
+#include <2geom/transforms.h>
 
 /*
  * stroking polylines into a Shape instance
@@ -729,7 +729,7 @@ void Path::RecRound(Shape *dest, int sNo, int eNo, // start and end index
     ang /= lod;
 
     int nbS = (int) floor(ang);
-    NR::rotate omega(((sia > 0) ? -lod : lod));
+    Geom::Rotate omega(((sia > 0) ? -lod : lod));
     NR::Point cur = iS - origine;
     //  StrokeNormalize(cur);
     //  cur*=width;
index 418f43b3c0bd10d01dec93960c1290a54fe547b6..4504f4467ade44b4ff9f2428d2157297cafcfca2 100644 (file)
@@ -86,7 +86,8 @@ findShadowedTime(Geom::Path const &patha,
     cutterPath.appendNew<LineSegment> (B-width*N);
     cutterPath.appendNew<LineSegment> (B+width*N);
     cutterPath.appendNew<LineSegment> (A+width*N);
-    cutterPath.appendNew<LineSegment> (A-width*N);
+    cutterPath.close();
+    //cutterPath.appendNew<LineSegment> (A-width*N);
     cutter.push_back(cutterPath);
 
     std::vector<Geom::Path> patha_as_vect = std::vector<Geom::Path>(1,patha);
@@ -135,16 +136,47 @@ split_at_horiz_vert_tgt (std::vector<Geom::Path> const & path_in){
 //LPEKnot specific Crossing Data manipulation.
 //---------------------------------------------------------------------------
 
-//TODO: evaluate how lpeknot specific that is. Worth being moved to 2geom?
+//TODO: Fix this in 2Geom: I think CrossingSets should not contain duplicates.
+Geom::CrossingSet crossingSet_remove_double(Geom::CrossingSet const &input){
+    Geom::CrossingSet result(input.size());
+    //Yeah, I know, there is a "unique" algorithm for that...
+    Geom::Crossing last;
+    for( unsigned i=0; i<input.size(); i++){
+        for( unsigned j=0; j<input[i].size(); j++){
+            if( j==0 || !(input[i][j]==last) ){
+                result[i].push_back(input[i][j]);
+                last = input[i][j];
+            }else{
+                g_warning("Duplicate found in a Geom::CrossingSet!");
+            }
+        }
+    }
+    return result;
+}
+
+//TODO: evaluate how usefull/lpeknot specific that is. Worth being moved to 2geom? (I doubt it)
 namespace LPEKnotNS {
 
+//Yet another crossing data representation. Not sure at all it is usefull!
+// +: >Given a point, you immediately know which strings are meeting there,
+//    and the index of the crossing along each string. This makes it easy to check 
+//    topology change. In a CrossingSet, you have to do some search to know the index
+//    of the crossing along "the second" string (i.e. find the symetric crossing)... 
+//    >Each point is stored only once.    
+//    However, we don't have so many crossing points in general, so none of these points might be relevant.
+//    
+// -: one more clumsy data representation, and "parallelism" failures to expect...
+//    (in particular, duplicates are hateful with this respect...)
+
 CrossingPoints::CrossingPoints(Geom::CrossingSet const &input, std::vector<Geom::Path> const &path) : std::vector<CrossingPoint>()
 {
     using namespace Geom;
+    g_print("JF>\nCrossing set content:\n");
     for( unsigned i=0; i<input.size(); i++){
         Crossings i_crossings = input[i];
         for( unsigned n=0; n<i_crossings.size(); n++ ){
             Crossing c = i_crossings[n];
+            g_print("JF> (%u,%u) at times (%f,%f) ----->",c.a,c.b,c.ta,c.tb);
             unsigned j = c.getOther(i);
             if (i<j || (i==j && c.ta<c.tb) ){
                 CrossingPoint cp;
@@ -163,6 +195,19 @@ CrossingPoints::CrossingPoints(Geom::CrossingSet const &input, std::vector<Geom:
                 cp.nj = std::find(input[j].begin(),input[j].end(),c_bar)-input[j].begin();
                 cp.sign = 1;
                 push_back(cp);
+                g_print("i=%u, ni=%u, j=%u, nj=%u\n",cp.i,cp.ni,cp.j,cp.nj);
+            }
+            else{
+                g_print("\n");
+                bool found = false;
+                for( unsigned ii=0; ii<input.size(); ii++){
+                    Crossings ii_crossings = input[ii];
+                    for( unsigned nn=0; nn<ii_crossings.size(); nn++ ){
+                        Crossing cc = ii_crossings[nn];
+                        if (cc.b==c.a && cc.a==c.b && cc.ta==c.tb && cc.tb==c.ta) found = true;
+                    }
+                }
+                assert( found );
             }
         }
     }
@@ -214,6 +259,7 @@ CrossingPoints::get(unsigned const i, unsigned const ni)
             ((*this)[k].j==i && (*this)[k].nj==ni)
             ) return (*this)[k];
     }
+    g_warning("LPEKnotNS::CrossingPoints::get error. %uth crossing along string %u not found.",ni,i);
     assert(false);//debug purpose...
     return CrossingPoint();
 }
@@ -335,6 +381,20 @@ LPEKnot::doEffect_path (std::vector<Geom::Path> const &input_path)
     std::vector<Geom::Path> path_in = split_at_horiz_vert_tgt(input_path);
 
     CrossingSet crossingTable = crossings_among(path_in);
+
+    for(unsigned i=0;i<crossingTable.size();i++){
+        for(unsigned j=0;j<crossingTable[i].size();j++){
+            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;i<crossingTable.size();i++){
+        for(unsigned j=0;j<crossingTable[i].size();j++){
+            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);
+        }
+    }
+
     crossing_points = LPEKnotNS::CrossingPoints(crossingTable, path_in);
     crossing_points.inherit_signs(old_crdata);
     crossing_points_vector.param_set_and_write_new_value(crossing_points.to_vector());
index bb2b908deeb4fab3a9ef74b5e346b651a079c242..cd724b70e173a6d1c5cb6b8cb7391a1283621bf1 100644 (file)
@@ -47,7 +47,7 @@ LPEMirrorSymmetry::doOnApply (SPLPEItem *lpeitem)
 
     SPItem *item = SP_ITEM(lpeitem);
     Geom::Matrix t = sp_item_i2d_affine(item);
-    Geom::Rect bbox = to_2geom(*item->getBounds(t)); // fixme: what happens if getBounds does not return a valid rect?
+    Geom::Rect bbox = *item->getBounds(t); // fixme: what happens if getBounds does not return a valid rect?
 
     Point A(bbox.left(), bbox.bottom());
     Point B(bbox.left(), bbox.top());
index 52ccc29e18fd9f8a878c31a27b0fb94dbc1c2997..1df0e127a0432511cb99a0e34413db512b5a1edc 100644 (file)
@@ -19,6 +19,7 @@
 #include "inkscape.h"
 #include "desktop.h"
 
+
 namespace Inkscape {
 namespace LivePathEffect {
 
@@ -110,34 +111,51 @@ LPERuler::doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_i
 {
     using namespace Geom;
 
-    Piecewise<D2<SBasis> > pwd2_arclength = arc_length_parametrization(pwd2_in);
-    Point A(pwd2_arclength.firstValue());
-    Point B(pwd2_arclength.lastValue());
-    double path_length = Geom::length(pwd2_arclength);
-
-    Piecewise<D2<SBasis> > n = -rot90(unitVector(derivative(pwd2_arclength)));
-    Piecewise<D2<SBasis> >output(pwd2_arclength);
-
-    if (mark_dir == MARKDIR_RIGHT) {
-        n *= -1.0;
-    }
-
-    int j = 0;
     const int mminterval = static_cast<int>(major_mark_steps);
-    const int j_shift = static_cast<int>(shift) % mminterval;
-
-    /* draw the ruler */
-    if ((border_marks == BORDERMARK_START || border_marks == BORDERMARK_BOTH) && (offset != 0.0 || j_shift != 0))
-        output.concat (ruler_mark(A, n.firstValue(), MARK_MAJOR));
-    for (double t = offset; t < path_length; t += mark_distance, ++j) {
-        if ((j % mminterval) == j_shift) {
-            output.concat (ruler_mark(pwd2_arclength(t), n(t), MARK_MAJOR));
+    const int i_shift = static_cast<int>(shift) % mminterval;
+    int sign = (mark_dir == MARKDIR_RIGHT ? 1 : -1 );
+
+    Piecewise<D2<SBasis> >output(pwd2_in);
+    Piecewise<D2<SBasis> >speed = derivative(pwd2_in);
+    Piecewise<SBasis> arclength = arcLengthSb(pwd2_in);
+    double totlength = arclength.lastValue();
+    
+    //find at which times to draw a mark:
+    std::vector<double> s_cuts;
+    for (double s = offset; s<totlength; s+=mark_distance){
+        s_cuts.push_back(s);
+    }
+    std::vector<std::vector<double> > roots = multi_roots(arclength, s_cuts);
+    std::vector<double> t_cuts;
+    g_warning("times:");
+    for (unsigned v=0; v<roots.size();v++){
+        //FIXME: 2geom multi_roots solver seem to sometimes "repeat" solutions.
+        //Here, we are supposed to have one and only one solution for each s.
+        if(roots[v].size()>0) 
+            t_cuts.push_back(roots[v][0]);
+    }
+    //draw the marks
+    for (unsigned i=0; i<t_cuts.size(); i++){
+        Point A = pwd2_in(t_cuts[i]);
+        Point n = rot90(unit_vector(speed(t_cuts[i])))*sign;
+        if ((i % mminterval) == i_shift) {
+            output.concat (ruler_mark(A, n, MARK_MAJOR));
         } else {
-            output.concat (ruler_mark(pwd2_arclength(t), n(t), MARK_MINOR));
+            output.concat (ruler_mark(A, n, MARK_MINOR));
         }
     }
-    if (border_marks == BORDERMARK_END || border_marks == BORDERMARK_BOTH)
-        output.concat (ruler_mark(B, n.lastValue(), MARK_MAJOR));
+    //eventually draw a mark at start
+    if ((border_marks == BORDERMARK_START || border_marks == BORDERMARK_BOTH) && (offset != 0.0 || i_shift != 0)){
+        Point A = pwd2_in.firstValue();
+        Point n = rot90(unit_vector(speed.firstValue()))*sign;
+        output.concat (ruler_mark(A, n, MARK_MAJOR));
+    }
+    //eventually draw a mark at end
+    if (border_marks == BORDERMARK_END || border_marks == BORDERMARK_BOTH){
+        Point A = pwd2_in.lastValue();
+        Point n = rot90(unit_vector(speed.lastValue()))*sign;
+        output.concat (ruler_mark(A, n, MARK_MAJOR));
+    }
 
     return output;
 }
index 6aebcd7fac994a149ef342e42556cb24d70a9e37..a95d89398c7cf318d0a1c10fef925c88e7b83740 100644 (file)
@@ -185,8 +185,12 @@ LPESketch::doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_
     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<SBasis> pathlength;
index dd6c5a90a705b4365f361d5d66343655d17e72ec..aab62a75cb34956e43f1c1f1d44e05e1aa7610b3 100644 (file)
@@ -13,6 +13,7 @@
 #include <2geom/matrix.h>
 #include <2geom/bezier-curve.h>
 #include <2geom/hvlinesegment.h>
+#include <2geom/isnan.h>
 #include "helper/geom-nodetype.h"
 #include "helper/geom-curves.h"
 
@@ -25,6 +26,8 @@
 #include "inkscape.h"
 #include "desktop.h"
 
+#define SPIRO_SHOW_INFINITE_COORDINATE_CALLS
+
 typedef struct {
     bezctx base;
     SPCurve *curve;
@@ -34,39 +37,55 @@ typedef struct {
 void bezctx_ink_moveto(bezctx *bc, double x, double y, int /*is_open*/)
 {
     bezctx_ink *bi = (bezctx_ink *) bc;
-    bi->curve->moveto(x, y);
+    if ( IS_FINITE(x) && IS_FINITE(y) ) {
+        bi->curve->moveto(x, y);
+    }
+#ifdef SPIRO_SHOW_INFINITE_COORDINATE_CALLS
+    else {
+        g_message("lpe moveto not finite");
+    }
+#endif
 }
 
 void bezctx_ink_lineto(bezctx *bc, double x, double y)
 {
     bezctx_ink *bi = (bezctx_ink *) bc;
-    bi->curve->lineto(x, y);
+    if ( IS_FINITE(x) && IS_FINITE(y) ) {
+        bi->curve->lineto(x, y);
+    }
+#ifdef SPIRO_SHOW_INFINITE_COORDINATE_CALLS
+    else {
+        g_message("lpe lineto not finite");
+    }
+#endif
 }
 
 void bezctx_ink_quadto(bezctx *bc, double xm, double ym, double x3, double y3)
 {
     bezctx_ink *bi = (bezctx_ink *) bc;
 
-    double x0, y0;
-    double x1, y1;
-    double x2, y2;
-
-    Geom::Point last = *(bi->curve->last_point());
-    x0 = last[Geom::X];
-    y0 = last[Geom::Y];
-    x1 = xm + (1./3) * (x0 - xm);
-    y1 = ym + (1./3) * (y0 - ym);
-    x2 = xm + (1./3) * (x3 - xm);
-    y2 = ym + (1./3) * (y3 - ym);
-
-    bi->curve->curveto(x1, y1, x2, y2, x3, y3);
+    if ( IS_FINITE(xm) && IS_FINITE(ym) && IS_FINITE(x3) && IS_FINITE(y3) ) {
+        bi->curve->quadto(xm, ym, x3, y3);
+    }
+#ifdef SPIRO_SHOW_INFINITE_COORDINATE_CALLS
+    else {
+        g_message("lpe quadto not finite");
+    }
+#endif
 }
 
 void bezctx_ink_curveto(bezctx *bc, double x1, double y1, double x2, double y2,
                    double x3, double y3)
 {
     bezctx_ink *bi = (bezctx_ink *) bc;
-    bi->curve->curveto(x1, y1, x2, y2, x3, y3);
+    if ( IS_FINITE(x1) && IS_FINITE(y1) && IS_FINITE(x2) && IS_FINITE(y2) ) {
+        bi->curve->curveto(x1, y1, x2, y2, x3, y3);
+    }
+#ifdef SPIRO_SHOW_INFINITE_COORDINATE_CALLS
+    else {
+        g_message("lpe curveto not finite");
+    }
+#endif
 }
 
 bezctx *
@@ -213,20 +232,6 @@ LPESpiro::doEffect(SPCurve * curve)
     }
 
     g_free (path);
-
-    // FIXME: refactor the spiro code such that it cannot generate non-continous paths!
-    // sometimes, the code above generates a path that is not continuous: caused by chaotic algorithm?
-    // The continuity error always happens after a lot of curveto calls (a big path probably that spins to infinity?)
-    // if so, undo the effect by resetting the original path.
-    try {
-        curve->get_pathvector() * Geom::identity(); // tests for continuity, this makes LPE Spiro slower of course :-(
-    }
-    catch (Geom::ContinuityError & e) {
-        g_warning("Exception during LPE Spiro execution. \n %s", e.what());
-        SP_ACTIVE_DESKTOP->messageStack()->flash( Inkscape::WARNING_MESSAGE,
-            _("An exception occurred during execution of the Spiro Path Effect.") );
-        curve->set_pathvector(original_pathv);
-    }
 }
 
 }; //namespace LivePathEffect
index ef9d38ee40c0afa5a5bd33345596c5ef23833773..72d96f5a23fe7d869c54137e2f36e12eaf1cf49b 100644 (file)
@@ -7,58 +7,64 @@
  */
 
 #include <cstdio>
-
 #include "live_effects/lpe-vonkoch.h"
-#include "svg/svg.h"
-#include "ui/widget/scalar.h"
 #include "nodepath.h"
+#include <2geom/transforms.h>
 
-#include <2geom/sbasis.h>
-#include <2geom/sbasis-geometric.h>
-#include <2geom/bezier-to-sbasis.h>
-#include <2geom/sbasis-to-bezier.h>
-#include <2geom/d2.h>
-#include <2geom/piecewise.h>
-
-#include <algorithm>
-using std::vector;
-
-
+//using std::vector;
 namespace Inkscape {
 namespace LivePathEffect {
 
-VonKochPathParam::~VonKochPathParam()
-{
-}
-
 void
 VonKochPathParam::param_setup_nodepath(Inkscape::NodePath::Path *np)
-{
+{  
     PathParam::param_setup_nodepath(np);
     sp_nodepath_make_straight_path(np);
 }
 
-static const Util::EnumData<VonKochRefType> VonKochRefTypeData[VKREF_END] = {
-    {VKREF_BBOX,     N_("Bounding box"),               "bbox"},
-    {VKREF_SEG, N_("Last gen. segment"), "lastseg"},
-};
-static const Util::EnumDataConverter<VonKochRefType> VonKochRefTypeConverter(VonKochRefTypeData, VKREF_END);
+//FIXME: a path is used here instead of 2 points to work around path/point param incompatibility bug.
+void
+VonKochRefPathParam::param_setup_nodepath(Inkscape::NodePath::Path *np)
+{  
+    PathParam::param_setup_nodepath(np);
+    sp_nodepath_make_straight_path(np);
+}
+bool
+VonKochRefPathParam::param_readSVGValue(const gchar * strvalue)
+{  
+    std::vector<Geom::Path> old = _pathvector;
+    bool res = PathParam::param_readSVGValue(strvalue);
+    if (res && _pathvector.size()==1 && _pathvector.front().size()==1){
+        return true;
+    }else{
+        _pathvector = old;
+        return false;
+    }
+}
 
 LPEVonKoch::LPEVonKoch(LivePathEffectObject *lpeobject) :
     Effect(lpeobject),
+    ref_path(_("Reference segment"), _("The reference segment. Defaults to bbox diameter."), "ref_path", &wr, this, "M0,0 L10,0"),
+    //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),
+    generator(_("Generating path"), _("Path whose segments define the iterated transforms"), "generator", &wr, this, "M0,0 L30,0 M0,10 L10,10 M 20,10 L30,10"),
+    similar_only(_("Use uniform transforms only"), _("2 consecutive segments are used to reverse/preserve orientation only (otherwise, they define a general transform)."), "similar_only", &wr, this, false),
     nbgenerations(_("Nb of generations"), _("Depth of the recursion --- keep low!!"), "nbgenerations", &wr, this, 1),
-    generator(_("Generating path"), _("Path whos segments define the fractal"), "generator", &wr, this, "M0,0 L3,0 M0,1 L1,1 M 2,1 L3,1"),
-    similar_only(_("Use uniform scale/rotation only"), _("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."), "similar_only", &wr, this, false),
     drawall(_("Draw all generations"), _("If unchecked, draw only the last generation"), "drawall", &wr, this, true),
-    reftype(_("Reference"), _("Generating path segments define transforms in reference to bbox or last segment"), "reftype", VonKochRefTypeConverter, &wr, this, VKREF_BBOX),
+    //FIXME: a path is used here instead of 2 points to work around path/point param incompatibility bug.
     maxComplexity(_("Max complexity"), _("Disable effect if the output is too complex"), "maxComplexity", &wr, this, 1000)
+    //,draw_boxes(_("Display boxes"), _("Display boxes instead of paths only"), "draw_boxes", &wr, this, true)
 {
+    //FIXME: a path is used here instead of 2 points to work around path/point param incompatibility bug.
+    registerParameter( dynamic_cast<Parameter *>(&ref_path) );
+    //registerParameter( dynamic_cast<Parameter *>(&refA) );
+    //registerParameter( dynamic_cast<Parameter *>(&refB) );
     registerParameter( dynamic_cast<Parameter *>(&generator) );
+    registerParameter( dynamic_cast<Parameter *>(&similar_only) );
     registerParameter( dynamic_cast<Parameter *>(&nbgenerations) );
     registerParameter( dynamic_cast<Parameter *>(&drawall) );
-    registerParameter( dynamic_cast<Parameter *>(&reftype) );
-    registerParameter( dynamic_cast<Parameter *>(&similar_only) );
     registerParameter( dynamic_cast<Parameter *>(&maxComplexity) );
+    //registerParameter( dynamic_cast<Parameter *>(&draw_boxes) );
 
     nbgenerations.param_make_integer();
     nbgenerations.param_set_range(0, NR_HUGE);
@@ -75,28 +81,27 @@ std::vector<Geom::Path>
 LPEVonKoch::doEffect_path (std::vector<Geom::Path> const & path_in)
 {
     using namespace Geom;
-    std::vector<Geom::Path> generating_path = path_from_piecewise(generator.get_pwd2(),.01);//TODO what should that tolerance be?
+
+    std::vector<Geom::Path> generating_path = generator.get_pathvector();
+    
+    if (generating_path.size()==0) {
+        return path_in;
+    }
 
     //Collect transform matrices.
-    //FIXME: fusing/cutting nodes mix up component order in the path. This is why the last segment is used.
     Matrix m0;
-    VonKochRefType type = reftype.get_value();
-    if (type==VKREF_BBOX){
-        Rect bbox = Rect(boundingbox_X,boundingbox_Y);
-        m0 = Matrix(boundingbox_X.extent(),0,0,boundingbox_X.extent(), boundingbox_X.min(), boundingbox_Y.middle());
-
-    }else{
-        if (generating_path.size()==0) return path_in;
-        Point p = generating_path.back().back().pointAt(0);
-        Point u = generating_path.back().back().pointAt(1)-p;
-        m0 = Matrix(u[X], u[Y],-u[Y], u[X], p[X], p[Y]);
-    }
+    Geom::Path refpath = ref_path.get_pathvector().front();
+    Point A = refpath.pointAt(0);
+    Point B = refpath.pointAt(refpath.size());
+    Point u = B-A;
+    m0 = Matrix(u[X], u[Y],-u[Y], u[X], A[X], A[Y]);
+    
+    //FIXME: a path is used as ref instead of 2 points to work around path/point param incompatibility bug.
+    //Point u = refB-refA;
+    //m0 = Matrix(u[X], u[Y],-u[Y], u[X], refA[X], refA[Y]);
     m0 = m0.inverse();
 
-
     std::vector<Matrix> transforms;
-    unsigned end = generating_path.size();
-    if (type==VKREF_SEG) end-=1;
     for (unsigned i=0; i<generating_path.size(); i++){
         Matrix m;
         if(generating_path[i].size()==1){
@@ -109,7 +114,7 @@ LPEVonKoch::doEffect_path (std::vector<Geom::Path> const & path_in)
             Point p = generating_path[i].pointAt(1);
             Point u = generating_path[i].pointAt(2)-p;
             Point v = p-generating_path[i].pointAt(0);
-            if (similar_only){
+            if (similar_only.get_value()){
                 int sign = (u[X]*v[Y]-u[Y]*v[X]>=0?1:-1);
                 v[X] = -u[Y]*sign;
                 v[Y] =  u[X]*sign;
@@ -120,13 +125,15 @@ LPEVonKoch::doEffect_path (std::vector<Geom::Path> const & path_in)
         }
     }
 
-    if (transforms.size()==0) return path_in;
+    if (transforms.size()==0){
+        return path_in;
+    }
 
-    //Do nothing if the output is too complex...
+    //Do nothing if the output is too complex... 
     int path_in_complexity = 0;
     for (unsigned k = 0; k < path_in.size(); k++){
             path_in_complexity+=path_in[k].size();
-    }
+    }    
     double complexity = pow(transforms.size(),nbgenerations)*path_in_complexity;
     if (drawall.get_value()){
         int k = transforms.size();
@@ -139,13 +146,14 @@ LPEVonKoch::doEffect_path (std::vector<Geom::Path> const & path_in)
         complexity = pow(transforms.size(),nbgenerations)*path_in_complexity;
     }
     if (complexity > double(maxComplexity)){
+        g_warning("VonKoch lpe's output too complex. Effect bypassed.");
         return path_in;
     }
 
     //Generate path:
     std::vector<Geom::Path> pathi = path_in;
     std::vector<Geom::Path> path_out = path_in;
-
+    
     for (unsigned i = 0; i<nbgenerations; i++){
         if (drawall.get_value()){
             path_out =  path_in;
@@ -156,7 +164,7 @@ LPEVonKoch::doEffect_path (std::vector<Geom::Path> const & path_in)
         }
         for (unsigned j = 0; j<transforms.size(); j++){
             for (unsigned k = 0; k<pathi.size() && complexity < maxComplexity; k++){
-                path_out.push_back(pathi[k]*transforms[j]);
+                path_out.push_back(pathi[k]*transforms[j]); 
                 complexity+=pathi[k].size();
             }
         }
@@ -165,10 +173,98 @@ LPEVonKoch::doEffect_path (std::vector<Geom::Path> const & path_in)
     return path_out;
 }
 
+
+//Usefull?? 
+//void 
+//LPEVonKoch::addCanvasIndicators(SPLPEItem */*lpeitem*/, std::vector<Geom::PathVector> &hp_vec)
+/*{
+    using namespace Geom;
+    if (draw_boxes.get_value()){
+        double ratio = .5;
+        if (similar_only.get_value()) ratio = boundingbox_Y.extent()/boundingbox_X.extent()/2;
+        
+        Point BB1,BB2,BB3,BB4,v;
+        
+        //Draw the reference box  (ref_path is supposed to consist in one line segment)
+        //FIXME: a path is used as ref instead of 2 points to work around path/point param incompatibility bug.
+        Geom::Path refpath = ref_path.get_pathvector().front();
+        if (refpath.size()==1){
+            BB1 = BB4 = refpath.front().pointAt(0);
+            BB2 = BB3 = refpath.front().pointAt(1);
+            v = rot90(BB2 - BB1)*ratio;
+            BB1 -= v;
+            BB2 -= v;
+            BB3 += v;
+            BB4 += v;
+            Geom::Path refbox(BB1);
+            refbox.appendNew<LineSegment>(BB2);
+            refbox.appendNew<LineSegment>(BB3);
+            refbox.appendNew<LineSegment>(BB4);
+            refbox.close();
+            PathVector refbox_as_vect;
+            refbox_as_vect.push_back(refbox);
+            hp_vec.push_back(refbox_as_vect);
+        }
+        //Draw the transformed boxes
+        std::vector<Geom::Path> generating_path = generator.get_pathvector();
+        for (unsigned i=0;i<generating_path.size(); i++){
+            if (generating_path[i].size()==0){
+                //Ooops! this should not happen.
+            }else if (generating_path[i].size()==1){
+                BB1 = BB4 = generating_path[i].pointAt(0);
+                BB2 = BB3 = generating_path[i].pointAt(1);
+                v = rot90(BB2 - BB1)*ratio;
+            }else{//Only tak the first 2 segments into account.
+                BB1 = BB4 = generating_path[i].pointAt(1);
+                BB2 = BB3 = generating_path[i].pointAt(2);
+                if(similar_only.get_value()){
+                    v = rot90(BB2 - BB1)*ratio;
+            }else{
+                    v = (generating_path[i].pointAt(0) - BB1)*ratio;
+                }
+            }
+            BB1 -= v;
+            BB2 -= v;
+            BB3 += v;
+            BB4 += v;
+            Geom::Path path(BB1);
+            path.appendNew<LineSegment>(BB2);
+            path.appendNew<LineSegment>(BB3);
+            path.appendNew<LineSegment>(BB4);
+            path.close();
+            PathVector pathv;
+            pathv.push_back(path);
+            hp_vec.push_back(pathv);
+        }
+    }
+}
+*/
+
 void
 LPEVonKoch::doBeforeEffect (SPLPEItem *lpeitem)
 {
+    using namespace Geom;
     original_bbox(lpeitem);
+    
+    std::vector<Geom::Path> paths = ref_path.get_pathvector();
+    Geom::Point A,B;
+    if (paths.size()==0||paths.front().size()==0){
+        //FIXME: a path is used as ref instead of 2 points to work around path/point param incompatibility bug.
+        //refA.param_setValue( Geom::Point(boundingbox_X.min(), boundingbox_Y.middle()) );
+        //refB.param_setValue( Geom::Point(boundingbox_X.max(), boundingbox_Y.middle()) );
+        A = Point(boundingbox_X.min(), boundingbox_Y.middle());
+        B = Point(boundingbox_X.max(), boundingbox_Y.middle());
+    }else{
+        A = paths.front().pointAt(0);
+        B = paths.front().pointAt(paths.front().size());
+    }
+    if (paths.size()!=1||paths.front().size()!=1){
+        Geom::Path tmp_path(A);
+        tmp_path.appendNew<LineSegment>(B);
+        std::vector<Geom::Path> tmp_pathv;
+        tmp_pathv.push_back(tmp_path);
+        ref_path.set_new_value(tmp_pathv,true);
+    }
 }
 
 
@@ -177,17 +273,36 @@ LPEVonKoch::resetDefaults(SPItem * item)
 {
     using namespace Geom;
     original_bbox(SP_LPE_ITEM(item));
-    Point start(boundingbox_X.min(), boundingbox_Y.middle());
-    Point end(boundingbox_X.max(), boundingbox_Y.middle());
 
-    std::vector<Geom::Path> paths;
-    Geom::Path path = Geom::Path(start);
-    path.appendNew<Geom::LineSegment>( end );
-    paths.push_back(path * Matrix(1./3,0,0,1./3,start[X]*2./3,start[Y]*2./3 + boundingbox_Y.extent()/2));
-    paths.push_back(path * Matrix(1./3,0,0,1./3,  end[X]*2./3,  end[Y]*2./3 + boundingbox_Y.extent()/2));
-    paths.push_back(path);
+    Point A,B;
+    A[Geom::X] = boundingbox_X.min();
+    A[Geom::Y] = boundingbox_Y.middle();
+    B[Geom::X] = boundingbox_X.max();
+    B[Geom::Y] = boundingbox_Y.middle();
+
+    std::vector<Geom::Path> paths,refpaths;
+    Geom::Path path = Geom::Path(A);
+    path.appendNew<Geom::LineSegment>(B);
 
+    refpaths.push_back(path);
+    ref_path.set_new_value(refpaths, true);
+
+    paths.push_back(path * Matrix(1./3,0,0,1./3, A[X]*2./3, A[Y]*2./3 + boundingbox_Y.extent()/2));
+    paths.push_back(path * Matrix(1./3,0,0,1./3, B[X]*2./3, B[Y]*2./3 + boundingbox_Y.extent()/2));
     generator.set_new_value(paths, true);
+
+    //FIXME: a path is used as ref instead of 2 points to work around path/point param incompatibility bug.
+    //refA[Geom::X] = boundingbox_X.min();
+    //refA[Geom::Y] = boundingbox_Y.middle();
+    //refB[Geom::X] = boundingbox_X.max();
+    //refB[Geom::Y] = boundingbox_Y.middle();
+    //std::vector<Geom::Path> paths;
+    //Geom::Path path = Geom::Path( (Point) refA);
+    //path.appendNew<Geom::LineSegment>( (Point) refB );
+    //paths.push_back(path * Matrix(1./3,0,0,1./3, refA[X]*2./3, refA[Y]*2./3 + boundingbox_Y.extent()/2));
+    //paths.push_back(path * Matrix(1./3,0,0,1./3, refB[X]*2./3, refB[Y]*2./3 + boundingbox_Y.extent()/2));
+    //paths.push_back(path);
+    //generator.set_new_value(paths, true);
 }
 
 void
index 011602eaf4d545db6b248b0c5432fe9f1ab8899d..16964f52760a531f3adce757bb1ed7a1bb1c9e3e 100644 (file)
 #include "live_effects/effect.h"
 #include "live_effects/lpegroupbbox.h"
 #include "live_effects/parameter/path.h"
-#include "live_effects/parameter/enum.h"
+#include "live_effects/parameter/point.h"
 #include "live_effects/parameter/bool.h"
 
 namespace Inkscape {
 namespace LivePathEffect {
 
-enum VonKochRefType {
-    VKREF_BBOX = 0,
-    VKREF_SEG,
-    VKREF_END // This must be last
-};
-
 class VonKochPathParam : public PathParam{
 public:
     VonKochPathParam ( const Glib::ustring& label,
-                       const Glib::ustring& tip,
-                       const Glib::ustring& key,
-                       Inkscape::UI::Widget::Registry* wr,
-                       Effect* effect,
-                       const gchar * default_value = "M0,0 L1,1"):PathParam(label,tip,key,wr,effect,default_value){};
-    virtual ~VonKochPathParam();
-    virtual void param_setup_nodepath(Inkscape::NodePath::Path *np);
+                      const Glib::ustring& tip,
+                      const Glib::ustring& key,
+                      Inkscape::UI::Widget::Registry* wr,
+                      Effect* effect,
+                      const gchar * default_value = "M0,0 L1,1"):PathParam(label,tip,key,wr,effect,default_value){}
+    virtual ~VonKochPathParam(){}
+    virtual void param_setup_nodepath(Inkscape::NodePath::Path *np);  
   };
 
+  //FIXME: a path is used here instead of 2 points to work around path/point param incompatibility bug.
+class VonKochRefPathParam : public PathParam{
+public:
+    VonKochRefPathParam ( const Glib::ustring& label,
+                      const Glib::ustring& tip,
+                      const Glib::ustring& key,
+                      Inkscape::UI::Widget::Registry* wr,
+                      Effect* effect,
+                      const gchar * default_value = "M0,0 L1,1"):PathParam(label,tip,key,wr,effect,default_value){}
+    virtual ~VonKochRefPathParam(){}
+    virtual void param_setup_nodepath(Inkscape::NodePath::Path *np);  
+    virtual bool param_readSVGValue(const gchar * strvalue);  
+  };
 class LPEVonKoch : public Effect, GroupBBoxEffect {
 public:
     LPEVonKoch(LivePathEffectObject *lpeobject);
@@ -49,16 +57,22 @@ public:
 
     virtual void transform_multiply(Geom::Matrix const& postmul, bool set);
 
+    //Usefull??
+    //    protected: 
+    //virtual void addCanvasIndicators(SPLPEItem *lpeitem, std::vector<Geom::PathVector> &hp_vec); 
+
 private:
     ScalarParam  nbgenerations;
     VonKochPathParam    generator;
     BoolParam    similar_only;
     BoolParam    drawall;
-    EnumParam<VonKochRefType> reftype;
+    //BoolParam    draw_boxes;
+    //FIXME: a path is used here instead of 2 points to work around path/point param incompatibility bug.
+    VonKochRefPathParam    ref_path;
+    //    PointParam   refA;
+    //    PointParam   refB;
     ScalarParam  maxComplexity;
 
-    //void on_pattern_pasted();
-
     LPEVonKoch(const LPEVonKoch&);
     LPEVonKoch& operator=(const LPEVonKoch&);
 };
index c11e99ecdcc6cf8cc8f16d7f2fd26bfe889b1f9e..79e6857f0b2a41ccb696cec452b246b2ff310dfd 100644 (file)
@@ -27,7 +27,7 @@ GroupBBoxEffect::original_bbox(SPLPEItem *lpeitem, bool absolute)
         transform = Geom::identity();
     }
 
-    Geom::Rect itemBBox = to_2geom(*item->getBounds(transform, SPItem::GEOMETRIC_BBOX)); // fixme: fix for when getBounds returns invalid Rect
+    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];
 }
index ab49de14ff776d35950058b368ccd5a0c062cfae..ec0dee0beb1c5e41d9281efa2d9a28e9f939fdd7 100644 (file)
 
 //#define LIVEPATHEFFECT_VERBOSE
 
-static void livepatheffect_class_init(LivePathEffectObjectClass *klass);
-static void livepatheffect_init(LivePathEffectObject *stop);
-
-static void livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
-static void livepatheffect_release(SPObject *object);
-
-static void livepatheffect_set(SPObject *object, unsigned key, gchar const *value);
-static Inkscape::XML::Node *livepatheffect_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-
 static void livepatheffect_on_repr_attr_changed (Inkscape::XML::Node * repr, const gchar *key, const gchar *oldval, const gchar *newval, bool is_interactive, void * data);
 
 static SPObjectClass *livepatheffect_parent_class;
@@ -37,7 +28,7 @@ static SPObjectClass *livepatheffect_parent_class;
  * Registers the LivePathEffect class with Gdk and returns its type number.
  */
 GType
-livepatheffect_get_type ()
+LivePathEffectObject::livepatheffect_get_type ()
 {
     static GType livepatheffect_type = 0;
 
@@ -45,11 +36,11 @@ livepatheffect_get_type ()
         GTypeInfo livepatheffect_info = {
             sizeof (LivePathEffectObjectClass),
             NULL, NULL,
-            (GClassInitFunc) livepatheffect_class_init,
+            (GClassInitFunc) LivePathEffectObject::livepatheffect_class_init,
             NULL, NULL,
             sizeof (LivePathEffectObject),
             16,
-            (GInstanceInitFunc) livepatheffect_init,
+            (GInstanceInitFunc) LivePathEffectObject::livepatheffect_init,
             NULL,
         };
         livepatheffect_type = g_type_register_static (SP_TYPE_OBJECT, "LivePathEffectObject", &livepatheffect_info, (GTypeFlags)0);
@@ -69,8 +60,8 @@ static Inkscape::XML::NodeEventVector const livepatheffect_repr_events = {
 /**
  * Callback to initialize livepatheffect vtable.
  */
-static void
-livepatheffect_class_init(LivePathEffectObjectClass *klass)
+void
+LivePathEffectObject::livepatheffect_class_init(LivePathEffectObjectClass *klass)
 {
     SPObjectClass *sp_object_class = (SPObjectClass *) klass;
 
@@ -86,8 +77,8 @@ livepatheffect_class_init(LivePathEffectObjectClass *klass)
 /**
  * Callback to initialize livepatheffect object.
  */
-static void
-livepatheffect_init(LivePathEffectObject *lpeobj)
+void
+LivePathEffectObject::livepatheffect_init(LivePathEffectObject *lpeobj)
 {
 #ifdef LIVEPATHEFFECT_VERBOSE
     g_message("Init livepatheffectobject");
@@ -101,8 +92,8 @@ livepatheffect_init(LivePathEffectObject *lpeobj)
 /**
  * Virtual build: set livepatheffect attributes from its associated XML node.
  */
-static void
-livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
+void
+LivePathEffectObject::livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr)
 {
 #ifdef LIVEPATHEFFECT_VERBOSE
     g_message("Build livepatheffect");
@@ -126,8 +117,8 @@ livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node
 /**
  * Virtual release of livepatheffect members before destruction.
  */
-static void
-livepatheffect_release(SPObject *object)
+void
+LivePathEffectObject::livepatheffect_release(SPObject *object)
 {
 #ifdef LIVEPATHEFFECT_VERBOSE
     g_print("Releasing livepatheffect");
@@ -168,8 +159,8 @@ livepatheffect_release(SPObject *object)
 /**
  * Virtual set: set attribute to value.
  */
-static void
-livepatheffect_set(SPObject *object, unsigned key, gchar const *value)
+void
+LivePathEffectObject::livepatheffect_set(SPObject *object, unsigned key, gchar const *value)
 {
     LivePathEffectObject *lpeobj = LIVEPATHEFFECT(object);
 #ifdef LIVEPATHEFFECT_VERBOSE
@@ -202,8 +193,8 @@ livepatheffect_set(SPObject *object, unsigned key, gchar const *value)
 /**
  * Virtual write: write object attributes to repr.
  */
-static Inkscape::XML::Node *
-livepatheffect_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags)
+Inkscape::XML::Node *
+LivePathEffectObject::livepatheffect_write(SPObject *object, Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags)
 {
 #ifdef LIVEPATHEFFECT_VERBOSE
     g_print("Write livepatheffect");
@@ -243,10 +234,10 @@ livepatheffect_on_repr_attr_changed ( Inkscape::XML::Node * /*repr*/,
         return;
 
     LivePathEffectObject *lpeobj = (LivePathEffectObject*) data;
-    if (!lpeobj->lpe)
+    if (!lpeobj->get_lpe())
         return;
 
-    lpeobj->lpe->setParameter(key, newval);
+    lpeobj->get_lpe()->setParameter(key, newval);
 
     lpeobj->requestModified(SP_OBJECT_MODIFIED_FLAG);
 }
index f141f07ca8cc87a333f8715738ce7fcceb7c739b..dc631a5c1d0e8374a0485e7b7da4dbaabd7ffaa1 100644 (file)
 #include "sp-object.h"
 #include "effect.h"
 
-#define TYPE_LIVEPATHEFFECT  (livepatheffect_get_type())
+namespace Inkscape {
+namespace XML {
+class Node;
+class Document;
+}
+}
+
+#define TYPE_LIVEPATHEFFECT  (LivePathEffectObject::livepatheffect_get_type())
 #define LIVEPATHEFFECT(o)    (G_TYPE_CHECK_INSTANCE_CAST((o), TYPE_LIVEPATHEFFECT, LivePathEffectObject))
 #define IS_LIVEPATHEFFECT(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), TYPE_LIVEPATHEFFECT))
 
+/// The LivePathEffect vtable.
+struct LivePathEffectObjectClass {
+    SPObjectClass parent_class;
+};
+
 class LivePathEffectObject : public SPObject {
 public:
     Inkscape::LivePathEffect::EffectType effecttype;
-    Inkscape::LivePathEffect::Effect *lpe;
 
     bool effecttype_set;
 
     LivePathEffectObject * fork_private_if_necessary(unsigned int nr_of_allowed_users = 1);
-};
 
-/// The LivePathEffect vtable.
-struct LivePathEffectObjectClass {
-    SPObjectClass parent_class;
+    /* Note that the returned pointer can be NULL in a valid LivePathEffectObject contained in a valid list of lpeobjects in an lpeitem!
+     * So one should always check whether the returned value is NULL or not */
+    Inkscape::LivePathEffect::Effect * get_lpe() { return lpe; };
+
+private:
+    Inkscape::LivePathEffect::Effect *lpe; // this can be NULL in a valid LivePathEffectObject
+
+    /* C-style class functions: */
+public:
+    static GType livepatheffect_get_type();
+private:
+    static void livepatheffect_class_init(LivePathEffectObjectClass *klass);
+    static void livepatheffect_init(LivePathEffectObject *stop);
+    static void livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
+    static void livepatheffect_release(SPObject *object);
+    static void livepatheffect_set(SPObject *object, unsigned key, gchar const *value);
+    static Inkscape::XML::Node *livepatheffect_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
 };
 
-GType livepatheffect_get_type();
 
 #endif
 
index 34c149b4be9bcbaed9a835a793f27fd351776cab..b814f597d19ae3869d1731ebf28d9795b83ac8ce 100644 (file)
@@ -117,7 +117,8 @@ static void pointparam_knot_moved_handler(SPKnot */*knot*/, Geom::Point const *p
     Inkscape::SVGOStringStream os;
     os << pos;
 
-    kh->lpeobject->lpe->setParameter(kh->repr_key, os.str().c_str());
+    // note: get_lpe() will always return a valid pointer?
+    kh->lpeobject->get_lpe()->setParameter(kh->repr_key, os.str().c_str());
 }
 
 static void pointparam_knot_ungrabbed_handler(SPKnot *knot, unsigned int /*state*/, PointParamKnotHolder *kh)
index ebc7ddcdc2b17c96e98ab0ec62600ef43cba5e93..7dcf9bf95bae13e223738fabfca65375cac7460e 100644 (file)
@@ -1053,11 +1053,11 @@ do_query_dimension (SPDocument *doc, bool extent, NR::Dim2 const axis, const gch
         SPItem *item = ((SPItem *) o);
 
         // "true" SVG bbox for scripting
-        boost::optional<NR::Rect> area = item->getBounds(sp_item_i2doc_affine(item));
+        boost::optional<Geom::Rect> area = item->getBounds(sp_item_i2doc_affine(item));
         if (area) {
             Inkscape::SVGOStringStream os;
             if (extent) {
-                os << area->extent(axis);
+                os << area->dimensions()[axis];
             } else {
                 os << area->min()[axis];
             }
@@ -1086,14 +1086,14 @@ do_query_all_recurse (SPObject *o)
 {
     SPItem *item = ((SPItem *) o);
     if (o->id && SP_IS_ITEM(item)) {
-        boost::optional<NR::Rect> area = item->getBounds(sp_item_i2doc_affine(item));
+        boost::optional<Geom::Rect> area = item->getBounds(sp_item_i2doc_affine(item));
         if (area) {
             Inkscape::SVGOStringStream os;
             os << o->id;
-            os << "," << area->min()[NR::X];
-            os << "," << area->min()[NR::Y];
-            os << "," << area->extent(NR::X);
-            os << "," << area->extent(NR::Y);
+            os << "," << area->min()[Geom::X];
+            os << "," << area->min()[Geom::Y];
+            os << "," << area->dimensions()[Geom::X];
+            os << "," << area->dimensions()[Geom::Y];
             g_print ("%s\n", os.str().c_str());
         }
     }
@@ -1178,7 +1178,7 @@ sp_do_export_png(SPDocument *doc)
 
             // write object bbox to area
             sp_document_ensure_up_to_date (doc);
-            boost::optional<NR::Rect> areaMaybe;
+            boost::optional<Geom::Rect> areaMaybe;
             sp_item_invoke_bbox((SPItem *) o_area, areaMaybe, sp_item_i2r_affine((SPItem *) o_area), TRUE);
             if (areaMaybe) {
                 area = NRRect(areaMaybe);
index 49486476d2ef13a5e11bcee16e1cb15d67de6064..fded90c4afc6dc2c1e3b0728c8e70d5104f0bec7 100644 (file)
@@ -481,7 +481,7 @@ sp_marker_update (SPObject *object, SPCtx *ctx, guint flags)
        for (v = marker->views; v != NULL; v = v->next) {
             for (unsigned i = 0 ; i < v->size ; i++) {
                 if (v->items[i]) {
-                    NR::Matrix tmp = from_2geom(marker->c2p);
+                    Geom::Matrix tmp = marker->c2p;
                     nr_arena_group_set_child_transform(NR_ARENA_GROUP(v->items[i]), &tmp);
                 }
             }
@@ -649,7 +649,7 @@ sp_marker_show_instance ( SPMarker *marker, NRArenaItem *parent,
                     /* fixme: Position (Lauris) */
                     nr_arena_item_add_child (parent, v->items[pos], NULL);
                     /* nr_arena_item_unref (v->items[pos]); */
-                    NR::Matrix tmp = from_2geom(marker->c2p);
+                    Geom::Matrix tmp = marker->c2p;
                     nr_arena_group_set_child_transform((NRArenaGroup *) v->items[pos], &tmp);
                 }
             }
index c3242ccc16c4c6c47715c2d1cb7bb47474957dd6..adcfd8d7679cd20456645dca98e1b6fc1185a843 100644 (file)
@@ -191,11 +191,13 @@ sp_nodepath_create_helperpaths(Inkscape::NodePath::Path *np) {
     PathEffectList lpelist = sp_lpe_item_get_effect_list(lpeitem);
     for (PathEffectList::iterator i = lpelist.begin(); i != lpelist.end(); ++i) {
         Inkscape::LivePathEffect::LPEObjectReference *lperef = (*i);
-        Inkscape::LivePathEffect::Effect *lpe = lperef->lpeobject->lpe;
-        // create new canvas items from the effect's helper paths
-        std::vector<Geom::PathVector> hpaths = lpe->getHelperPaths(lpeitem);
-        for (std::vector<Geom::PathVector>::iterator j = hpaths.begin(); j != hpaths.end(); ++j) {
-            (*np->helper_path_vec)[lpe].push_back(canvasitem_from_pathvec(np, *j, true));
+        Inkscape::LivePathEffect::Effect *lpe = lperef->lpeobject->get_lpe();
+        if (lpe) {
+            // create new canvas items from the effect's helper paths
+            std::vector<Geom::PathVector> hpaths = lpe->getHelperPaths(lpeitem);
+            for (std::vector<Geom::PathVector>::iterator j = hpaths.begin(); j != hpaths.end(); ++j) {
+                (*np->helper_path_vec)[lpe].push_back(canvasitem_from_pathvec(np, *j, true));
+            }
         }
     }
 }
@@ -211,17 +213,19 @@ sp_nodepath_update_helperpaths(Inkscape::NodePath::Path *np) {
     SPLPEItem *lpeitem = SP_LPE_ITEM(np->item);
     PathEffectList lpelist = sp_lpe_item_get_effect_list(lpeitem);
     for (PathEffectList::iterator i = lpelist.begin(); i != lpelist.end(); ++i) {
-        Inkscape::LivePathEffect::Effect *lpe = (*i)->lpeobject->lpe;
-        /* update canvas items from the effect's helper paths; note that this code relies on the
-         * fact that getHelperPaths() will always return the same number of helperpaths in the same
-         * order as during their creation in sp_nodepath_create_helperpaths
-         */
-        std::vector<Geom::PathVector> hpaths = lpe->getHelperPaths(lpeitem);
-        for (unsigned int j = 0; j < hpaths.size(); ++j) {
-            SPCurve *curve = new SPCurve(hpaths[j]);
-            curve->transform(np->i2d);
-            sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(((*np->helper_path_vec)[lpe])[j]), curve);
-            curve = curve->unref();
+        Inkscape::LivePathEffect::Effect *lpe = (*i)->lpeobject->get_lpe();
+        if (lpe) {
+            /* update canvas items from the effect's helper paths; note that this code relies on the
+             * fact that getHelperPaths() will always return the same number of helperpaths in the same
+             * order as during their creation in sp_nodepath_create_helperpaths
+             */
+            std::vector<Geom::PathVector> hpaths = lpe->getHelperPaths(lpeitem);
+            for (unsigned int j = 0; j < hpaths.size(); ++j) {
+                SPCurve *curve = new SPCurve(hpaths[j]);
+                curve->transform(np->i2d);
+                sp_canvas_bpath_set_bpath(SP_CANVAS_BPATH(((*np->helper_path_vec)[lpe])[j]), curve);
+                curve = curve->unref();
+            }
         }
     }
 }
@@ -316,10 +320,15 @@ Inkscape::NodePath::Path *sp_nodepath_new(SPDesktop *desktop, SPObject *object,
     np->d2i  = np->i2d.inverse();
 
     np->repr = repr;
-    if (repr_key_in) { // apparantly the object is an LPEObject
+    if (repr_key_in) { // apparently the object is an LPEObject (this is a dirty check, hopefully nobody tries feeding non-lpeobjects into this method with non-null repr_key_in)
         np->repr_key = g_strdup(repr_key_in);
         np->repr_nodetypes_key = g_strconcat(np->repr_key, "-nodetypes", NULL);
-        Inkscape::LivePathEffect::Parameter *lpeparam = LIVEPATHEFFECT(object)->lpe->getParameter(repr_key_in);
+        Inkscape::LivePathEffect::Effect * lpe = LIVEPATHEFFECT(object)->get_lpe();
+        if (!lpe) {
+            g_error("sp_nodepath_new: lpeobject without real lpe passed as argument!");
+            sp_nodepath_destroy(np);
+        }
+        Inkscape::LivePathEffect::Parameter *lpeparam = lpe->getParameter(repr_key_in);
         if (lpeparam) {
             lpeparam->param_setup_nodepath(np);
         }
@@ -4874,10 +4883,13 @@ void sp_nodepath_set_curve (Inkscape::NodePath::Path *np, SPCurve *curve) {
             sp_shape_set_curve(SP_SHAPE(np->object), curve, true);
         }
     } else if ( IS_LIVEPATHEFFECT(np->object) ) {
-        Inkscape::LivePathEffect::PathParam *pathparam = dynamic_cast<Inkscape::LivePathEffect::PathParam *>( LIVEPATHEFFECT(np->object)->lpe->getParameter(np->repr_key) );
-        if (pathparam) {
-            pathparam->set_new_value(np->curve->get_pathvector(), false); // do not write to SVG
-            np->object->requestModified(SP_OBJECT_MODIFIED_FLAG);
+        Inkscape::LivePathEffect::Effect * lpe = LIVEPATHEFFECT(np->object)->get_lpe();
+        if (lpe) {
+            Inkscape::LivePathEffect::PathParam *pathparam = dynamic_cast<Inkscape::LivePathEffect::PathParam *>( lpe->getParameter(np->repr_key) );
+            if (pathparam) {
+                pathparam->set_new_value(np->curve->get_pathvector(), false); // do not write to SVG
+                np->object->requestModified(SP_OBJECT_MODIFIED_FLAG);
+            }
         }
     }
 }
index 400354d4ab55a14f9f9b850de12fe01cb42b7737..63e404e4b759269304bed8707ec6ff5731eb5527 100644 (file)
@@ -749,7 +749,7 @@ ArcKnotHolderEntityStart::knot_set(Geom::Point const &p, Geom::Point const &/*or
     ge->closed = (sp_genericellipse_side(ge, p) == -1) ? TRUE : FALSE;
 
     Geom::Point delta = p - Geom::Point(ge->cx.computed, ge->cy.computed);
-    NR::scale sc(ge->rx.computed, ge->ry.computed);
+    Geom::Scale sc(ge->rx.computed, ge->ry.computed);
     ge->start = atan2(delta * sc.inverse());
     if ( ( state & GDK_CONTROL_MASK )
          && snaps )
@@ -780,7 +780,7 @@ ArcKnotHolderEntityEnd::knot_set(Geom::Point const &p, Geom::Point const &/*orig
     ge->closed = (sp_genericellipse_side(ge, p) == -1) ? TRUE : FALSE;
 
     Geom::Point delta = p - Geom::Point(ge->cx.computed, ge->cy.computed);
-    NR::scale sc(ge->rx.computed, ge->ry.computed);
+    Geom::Scale sc(ge->rx.computed, ge->ry.computed);
     ge->end = atan2(delta * sc.inverse());
     if ( ( state & GDK_CONTROL_MASK )
          && snaps )
index 13fba80609a287a28d96c379d4437ef04caa49e2..cbf31c27127cc75ebee11fc090e741bb2a7d3c3c 100644 (file)
@@ -138,20 +138,20 @@ void Inkscape::ObjectSnapper::_findCandidates(SPObject* parent,
                 if (SP_IS_GROUP(o)) {
                     _findCandidates(o, it, false, bbox_to_snap, snap_dim, false, Geom::identity());
                 } else {
-                    boost::optional<NR::Rect> bbox_of_item = NR::Rect();
+                    boost::optional<Geom::Rect> bbox_of_item = Geom::Rect();
                     if (clip_or_mask) {
                         // Oh oh, this will get ugly. We cannot use sp_item_i2d_affine directly because we need to
                         // insert an additional transformation in document coordinates (code copied from sp_item_i2d_affine)
                         sp_item_invoke_bbox(item, 
                             bbox_of_item,
-                            from_2geom(to_2geom(sp_item_i2doc_affine(item)) * matrix_to_desktop(additional_affine, item)),
+                            sp_item_i2doc_affine(item) * matrix_to_desktop(additional_affine, item),
                             true);
                     } else {
                         sp_item_invoke_bbox(item, bbox_of_item, sp_item_i2d_affine(item), true);
                     }
                     if (bbox_of_item) {
                         // See if the item is within range                                    
-                        if (bbox_to_snap_incl.intersects(to_2geom(*bbox_of_item))) {
+                        if (bbox_to_snap_incl.intersects(*bbox_of_item)) {
                             // This item is within snapping range, so record it as a candidate
                             _candidates->push_back(SnapCandidate(item, clip_or_mask, additional_affine));
                         }                        
@@ -204,9 +204,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) {
-                    std::vector<NR::Point> dummy_vctr;
-                    sp_item_snappoints(root_item, _include_item_center, SnapPointsIter(dummy_vctr));
-                    to_2geom(dummy_vctr, *_points_to_snap_to);
+                    sp_item_snappoints(root_item, _include_item_center, SnapPointsIter(*_points_to_snap_to));
                 }
             }
 
@@ -216,10 +214,10 @@ void Inkscape::ObjectSnapper::_collectNodes(Inkscape::Snapper::PointType const &
                     // Discard the bbox of a clipped path / mask, because we don't want to snap to both the bbox
                     // of the item AND the bbox of the clipping path at the same time
                     if (!(*i).clip_or_mask) {  
-                        boost::optional<NR::Rect> b = sp_item_bbox_desktop(root_item, bbox_type);
+                        boost::optional<Geom::Rect> b = sp_item_bbox_desktop(root_item, bbox_type);
                         if (b) {
                             for ( unsigned k = 0 ; k < 4 ; k++ ) {
-                                _points_to_snap_to->push_back(to_2geom(b->corner(k)));
+                                _points_to_snap_to->push_back(b->corner(k));
                             }
                         }
                     }
index 7ebc4b30f94773683748307a677a6dec954d1bf1..54ab79448b4bda1752401d14d0b0d0ba8b15c85c 100644 (file)
@@ -2,7 +2,7 @@
  * @brief  Singleton class to access the preferences file - implementation
  */
 /* Authors:
- *   Krzysztof Kosiński <tweenk.pl@gmail.com>
+ *   Krzysztof Kosinski <tweenk.pl@gmail.com>
  *
  * Copyright (C) 2008 Authors
  *
@@ -35,11 +35,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();
 }
 
@@ -70,12 +70,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 +99,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 +121,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 +139,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 +174,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,7 +187,7 @@ 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
@@ -285,7 +285,7 @@ bool Preferences::getBool(Glib::ustring const &pref_key, Glib::ustring const &at
     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;
@@ -431,11 +431,11 @@ Inkscape::XML::Node *Preferences::_getNode(Glib::ustring const &pref_key, bool c
     Inkscape::XML::Node *node = _prefs_doc->root(), *child = NULL;
     gchar **splits = g_strsplit(pref_key.data(), ".", 0);
     int part_i = 0;
-    
+
     while(splits[part_i]) {
         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 +445,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;
                 }
@@ -455,7 +455,7 @@ Inkscape::XML::Node *Preferences::_getNode(Glib::ustring const &pref_key, bool c
                 return NULL;
             }
         }
-        
+
         ++part_i;
         node = child;
     }
@@ -482,7 +482,7 @@ Preferences *Preferences::_instance = NULL;
 
 
 } // namespace Inkscape
+
 /*
   Local Variables:
   mode:c++
index c2cd6d213464a4b42d87cc62859d3b8422adb678..60bb0e4f9707313315745bc16c148caaec801836 100644 (file)
@@ -21,11 +21,11 @@ using vpsc::Rectangle;
 namespace {
        struct Record {
                SPItem *item;
-               NR::Point midpoint;
+               Geom::Point midpoint;
                Rectangle *vspc_rect;
 
                Record() {}
-               Record(SPItem *i, NR::Point m, Rectangle *r)
+               Record(SPItem *i, Geom::Point m, Rectangle *r)
                : item(i), midpoint(m), vspc_rect(r) {}
        };
 }
@@ -42,16 +42,16 @@ void removeoverlap(GSList const *const items, double const xGap, double const yG
        std::vector<Record> records;
        std::vector<Rectangle *> rs;
 
-       NR::Point const gap(xGap, yGap);
+       Geom::Point const gap(xGap, yGap);
        for (std::list<SPItem *>::iterator it(selected.begin());
                it != selected.end();
                ++it)
        {
-               using NR::X; using NR::Y;
-               boost::optional<NR::Rect> item_box(sp_item_bbox_desktop(*it));
+               using Geom::X; using Geom::Y;
+               boost::optional<Geom::Rect> item_box(sp_item_bbox_desktop(*it));
                if (item_box) {
-                       NR::Point min(item_box->min() - .5*gap);
-                       NR::Point max(item_box->max() + .5*gap);
+                       Geom::Point min(item_box->min() - .5*gap);
+                       Geom::Point max(item_box->max() + .5*gap);
                        Rectangle *vspc_rect = new Rectangle(min[X], max[X], min[Y], max[Y]);
                        records.push_back(Record(*it, item_box->midpoint(), vspc_rect));
                        rs.push_back(vspc_rect);
@@ -64,8 +64,8 @@ void removeoverlap(GSList const *const items, double const xGap, double const yG
              it != records.end();
              ++it )
        {
-               NR::Point const curr = it->midpoint;
-               NR::Point const dest(it->vspc_rect->getCentreX(),
+               Geom::Point const curr = it->midpoint;
+               Geom::Point const dest(it->vspc_rect->getCentreX(),
                                     it->vspc_rect->getCentreY());
                sp_item_move_rel(it->item, Geom::Translate(dest - curr));
                delete it->vspc_rect;
index 640ffa79f68de4f9b94639b53300407d5c50c1e1..3ffebeb065a081acee6349675f0427be79cfeb45 100644 (file)
@@ -6,7 +6,7 @@
 #include <approx-equal.h>
 
 void satisfied_guide_cns(SPDesktop const &desktop,
-                         std::vector<NR::Point> const &snappoints,
+                         std::vector<Geom::Point> const &snappoints,
                          std::vector<SPGuideConstraint> &cns)
 {
     SPNamedView const &nv = *sp_desktop_namedview(&desktop);
index eeadf48cd11adec979c13477be5fb877645321dc..1952bef448402906bfa0eddd2002a5c1d12a3f25 100644 (file)
@@ -2,12 +2,12 @@
 #define __SATISFIED_GUIDE_CNS_H__
 
 #include <forward.h>
-#include <libnr/nr-forward.h>
+#include <2geom/forward.h>
 #include <vector>
 class SPGuideConstraint;
 
 void satisfied_guide_cns(SPDesktop const &desktop,
-                         std::vector<NR::Point> const &snappoints,
+                         std::vector<Geom::Point> const &snappoints,
                          std::vector<SPGuideConstraint> &cns);
 
 
index 418db8e744ff7b8f5e06e55d70633d6fa9123915..661f0a2e46d8fff1a11daf50d7a2dcdfd4cc9acb 100644 (file)
@@ -84,7 +84,7 @@ void Inkscape::SelCue::_updateItemBboxes()
     for (GSList const *l = _selection->itemList(); l != NULL; l = l->next) {
         SPItem *item = (SPItem *) l->data;
 
-        boost::optional<Geom::Rect> const b = to_2geom(sp_item_bbox_desktop(item, bbox_type));
+        boost::optional<Geom::Rect> const b = sp_item_bbox_desktop(item, bbox_type);
 
         SPCanvasItem* box = NULL;
 
index 591cc795dcb627cd6799e470c7efea7f816232b5..d58f7ff25606cf4a0af56b1349a5cf01ab797677 100644 (file)
 #include "libnr/nr-matrix-translate-ops.h"
 #include "libnr/nr-scale-ops.h"
 #include <libnr/nr-matrix-ops.h>
-#include <libnr/nr-rotate-ops.h>
-#include "libnr/nr-scale-translate-ops.h"
-#include "libnr/nr-translate-matrix-ops.h"
-#include "libnr/nr-translate-scale-ops.h"
+#include <2geom/transforms.h>
 #include "xml/repr.h"
 #include "style.h"
 #include "document-private.h"
@@ -617,14 +614,14 @@ sp_item_list_common_parent_group(GSList const *items)
 }
 
 /** Finds out the minimum common bbox of the selected items. */
-static boost::optional<NR::Rect>
+static boost::optional<Geom::Rect>
 enclose_items(GSList const *items)
 {
     g_assert(items != NULL);
 
-    boost::optional<NR::Rect> r;
+    boost::optional<Geom::Rect> r;
     for (GSList const *i = items; i; i = i->next) {
-        r = NR::union_bounds(r, sp_item_bbox_desktop((SPItem *) i->data));
+        r = Geom::unify(r, sp_item_bbox_desktop((SPItem *) i->data));
     }
     return r;
 }
@@ -670,7 +667,7 @@ sp_selection_raise(SPDesktop *desktop)
     rev = g_slist_sort(rev, (GCompareFunc) sp_item_repr_compare_position);
 
     // Determine the common bbox of the selected items.
-    boost::optional<NR::Rect> selected = enclose_items(items);
+    boost::optional<Geom::Rect> selected = enclose_items(items);
 
     // Iterate over all objects in the selection (starting from top).
     if (selected) {
@@ -680,7 +677,7 @@ sp_selection_raise(SPDesktop *desktop)
             for (SPObject *newref = child->next; newref; newref = newref->next) {
                 // if the sibling is an item AND overlaps our selection,
                 if (SP_IS_ITEM(newref)) {
-                    boost::optional<NR::Rect> newref_bbox = sp_item_bbox_desktop(SP_ITEM(newref));
+                    boost::optional<Geom::Rect> newref_bbox = sp_item_bbox_desktop(SP_ITEM(newref));
                     if ( newref_bbox && selected->intersects(*newref_bbox) ) {
                         // AND if it's not one of our selected objects,
                         if (!g_slist_find((GSList *) items, newref)) {
@@ -760,7 +757,7 @@ sp_selection_lower(SPDesktop *desktop)
     Inkscape::XML::Node *grepr = SP_OBJECT_REPR(group);
 
     // Determine the common bbox of the selected items.
-    boost::optional<NR::Rect> selected = enclose_items(items);
+    boost::optional<Geom::Rect> selected = enclose_items(items);
 
     /* Construct direct-ordered list of selected children. */
     GSList *rev = g_slist_copy((GSList *) items);
@@ -775,7 +772,7 @@ sp_selection_lower(SPDesktop *desktop)
             for (SPObject *newref = prev_sibling(child); newref; newref = prev_sibling(newref)) {
                 // if the sibling is an item AND overlaps our selection,
                 if (SP_IS_ITEM(newref)) {
-                    boost::optional<NR::Rect> ref_bbox = sp_item_bbox_desktop(SP_ITEM(newref));
+                    boost::optional<Geom::Rect> ref_bbox = sp_item_bbox_desktop(SP_ITEM(newref));
                     if ( ref_bbox && selected->intersects(*ref_bbox) ) {
                         // AND if it's not one of our selected objects,
                         if (!g_slist_find((GSList *) items, newref)) {
@@ -1221,7 +1218,6 @@ void sp_selection_apply_affine(Inkscape::Selection *selection, Geom::Matrix cons
             // calculate the matrix we need to apply to the clone to cancel its induced transform from its original
             Geom::Matrix parent_transform = sp_item_i2root_affine(SP_ITEM(SP_OBJECT_PARENT (item)));
             Geom::Matrix t = parent_transform * matrix_to_desktop (matrix_from_desktop (affine, item), item) * parent_transform.inverse();
-            NR::Matrix t_nr = from_2geom(t);
             Geom::Matrix t_inv =parent_transform * matrix_to_desktop (matrix_from_desktop (affine.inverse(), item), item) * parent_transform.inverse();
             Geom::Matrix result = t_inv * item->transform * t;
 
@@ -1234,19 +1230,18 @@ void sp_selection_apply_affine(Inkscape::Selection *selection, Geom::Matrix cons
 
                 if (prefs_parallel) {
                     Geom::Matrix move = result * clone_move * t_inv;
-                    NR::Matrix move_nr = from_2geom(move);
-                    sp_item_write_transform(item, SP_OBJECT_REPR(item), from_2geom(move), &move_nr);
+                    sp_item_write_transform(item, SP_OBJECT_REPR(item), move, &move);
 
                 } else if (prefs_unmoved) {
                     //if (SP_IS_USE(sp_use_get_original(SP_USE(item))))
                     //    clone_move = NR::identity();
                     Geom::Matrix move = result * clone_move;
-                    sp_item_write_transform(item, SP_OBJECT_REPR(item), from_2geom(move), &t_nr);
+                    sp_item_write_transform(item, SP_OBJECT_REPR(item), move, &t);
                 }
 
             } else {
                 // just apply the result
-                sp_item_write_transform(item, SP_OBJECT_REPR(item), result, &t_nr);
+                sp_item_write_transform(item, SP_OBJECT_REPR(item), result, &t);
             }
 
         } else {
@@ -1290,17 +1285,17 @@ sp_selection_scale_absolute(Inkscape::Selection *selection,
     if (selection->isEmpty())
         return;
 
-    boost::optional<NR::Rect> const bbox(selection->bounds());
+    boost::optional<Geom::Rect> const bbox(selection->bounds());
     if ( !bbox || bbox->isEmpty() ) {
         return;
     }
 
-    NR::translate const p2o(-bbox->min());
+    Geom::Translate const p2o(-bbox->min());
 
-    NR::scale const newSize(x1 - x0,
+    Geom::Scale const newSize(x1 - x0,
                             y1 - y0);
-    NR::scale const scale( newSize / NR::scale(bbox->dimensions()) );
-    NR::translate const o2n(x0, y0);
+    Geom::Scale const scale( newSize * Geom::Scale(bbox->dimensions()).inverse() );
+    Geom::Translate const o2n(x0, y0);
     NR::Matrix const final( p2o * scale * o2n );
 
     sp_selection_apply_affine(selection, final);
@@ -1312,15 +1307,15 @@ void sp_selection_scale_relative(Inkscape::Selection *selection, Geom::Point con
     if (selection->isEmpty())
         return;
 
-    boost::optional<NR::Rect> const bbox(selection->bounds());
+    boost::optional<Geom::Rect> const bbox(selection->bounds());
 
     if ( !bbox || bbox->isEmpty() ) {
         return;
     }
 
     // FIXME: ARBITRARY LIMIT: don't try to scale above 1 Mpx, it won't display properly and will crash sooner or later anyway
-    if ( bbox->extent(NR::X) * scale[Geom::X] > 1e6  ||
-         bbox->extent(NR::Y) * scale[Geom::Y] > 1e6 )
+    if ( bbox->dimensions()[NR::X] * scale[Geom::X] > 1e6  ||
+         bbox->dimensions()[NR::Y] * scale[Geom::Y] > 1e6 )
     {
         return;
     }
@@ -1355,12 +1350,12 @@ sp_selection_skew_relative(Inkscape::Selection *selection, Geom::Point const &al
 
 void sp_selection_move_relative(Inkscape::Selection *selection, Geom::Point const &move)
 {
-    sp_selection_apply_affine(selection, NR::Matrix(NR::translate(move)));
+    sp_selection_apply_affine(selection, NR::Matrix(Geom::Translate(move)));
 }
 
 void sp_selection_move_relative(Inkscape::Selection *selection, double dx, double dy)
 {
-    sp_selection_apply_affine(selection, NR::Matrix(NR::translate(dx, dy)));
+    sp_selection_apply_affine(selection, NR::Matrix(Geom::Translate(dx, dy)));
 }
 
 /**
@@ -1406,6 +1401,21 @@ sp_selection_rotate(Inkscape::Selection *selection, gdouble const angle_degrees)
                            _("Rotate"));
 }
 
+// helper function:
+static
+Geom::Point
+cornerFarthestFrom(Geom::Rect const &r, Geom::Point const &p){
+    Geom::Point m = r.midpoint();
+    unsigned i = 0;
+    if (p[X] < m[X]) {
+        i = 1;
+    }
+    if (p[Y] < m[Y]) {
+        i = 3 - i;
+    }
+    return r.corner(i);
+}
+
 /**
 \param  angle   the angle in "angular pixels", i.e. how many visible pixels must move the outermost point of the rotated object
 */
@@ -1415,7 +1425,7 @@ sp_selection_rotate_screen(Inkscape::Selection *selection, gdouble angle)
     if (selection->isEmpty())
         return;
 
-    boost::optional<NR::Rect> const bbox(selection->bounds());
+    boost::optional<Geom::Rect> const bbox(selection->bounds());
     boost::optional<Geom::Point> center = selection->center();
 
     if ( !bbox || !center ) {
@@ -1424,7 +1434,7 @@ sp_selection_rotate_screen(Inkscape::Selection *selection, gdouble angle)
 
     gdouble const zoom = selection->desktop()->current_zoom();
     gdouble const zmove = angle / zoom;
-    gdouble const r = NR::L2(bbox->cornerFarthestFrom(*center) - *center);
+    gdouble const r = Geom::L2(cornerFarthestFrom(*bbox, *center) - *center);
 
     gdouble const zangle = 180 * atan2(zmove, r) / M_PI;
 
@@ -1444,12 +1454,12 @@ sp_selection_scale(Inkscape::Selection *selection, gdouble grow)
     if (selection->isEmpty())
         return;
 
-    boost::optional<NR::Rect> const bbox(selection->bounds());
+    boost::optional<Geom::Rect> const bbox(selection->bounds());
     if (!bbox) {
         return;
     }
 
-    NR::Point const center(bbox->midpoint());
+    Geom::Point const center(bbox->midpoint());
 
     // you can't scale "do nizhe pola" (below zero)
     double const max_len = bbox->maxExtent();
@@ -1481,13 +1491,13 @@ sp_selection_scale_times(Inkscape::Selection *selection, gdouble times)
     if (selection->isEmpty())
         return;
 
-    boost::optional<NR::Rect> sel_bbox = selection->bounds();
+    boost::optional<Geom::Rect> sel_bbox = selection->bounds();
 
     if (!sel_bbox) {
         return;
     }
 
-    NR::Point const center(sel_bbox->midpoint());
+    Geom::Point const center(sel_bbox->midpoint());
     sp_selection_scale_relative(selection, center, Geom::Scale(times, times));
     sp_document_done(sp_desktop_document(selection->desktop()), SP_VERB_CONTEXT_SELECT,
                      _("Scale by whole factor"));
@@ -1805,7 +1815,7 @@ SPItem *next_item(SPDesktop *desktop, GSList *path, SPObject *root,
 void scroll_to_show_item(SPDesktop *desktop, SPItem *item)
 {
     Geom::Rect dbox = desktop->get_display_area();
-    boost::optional<Geom::Rect> sbox = to_2geom(sp_item_bbox_desktop(item));
+    boost::optional<Geom::Rect> sbox = sp_item_bbox_desktop(item);
 
     if ( sbox && dbox.contains(*sbox) == false ) {
         Geom::Point const s_dt = sbox->midpoint();
@@ -2036,8 +2046,8 @@ sp_select_clone_original(SPDesktop *desktop)
         Inkscape::Preferences *prefs = Inkscape::Preferences::get();
         bool highlight = prefs->getBool("options.highlightoriginal", "value");
         if (highlight) {
-            boost::optional<NR::Rect> a = item->getBounds(sp_item_i2d_affine(item));
-            boost::optional<NR::Rect> b = original->getBounds(sp_item_i2d_affine(original));
+            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2d_affine(item));
+            boost::optional<Geom::Rect> b = original->getBounds(sp_item_i2d_affine(original));
             if ( a && b ) {
                 // draw a flashing line between the objects
                 SPCurve *curve = new SPCurve();
@@ -2078,7 +2088,7 @@ void sp_selection_to_marker(SPDesktop *desktop, bool apply)
     }
 
     sp_document_ensure_up_to_date(doc);
-    boost::optional<NR::Rect> r = selection->bounds();
+    boost::optional<Geom::Rect> r = selection->bounds();
     boost::optional<Geom::Point> c = selection->center();
     if ( !r || !c || r->isEmpty() ) {
         return;
@@ -2202,15 +2212,15 @@ sp_selection_tile(SPDesktop *desktop, bool apply)
     }
 
     sp_document_ensure_up_to_date(doc);
-    boost::optional<NR::Rect> r = selection->bounds();
+    boost::optional<Geom::Rect> r = selection->bounds();
     if ( !r || r->isEmpty() ) {
         return;
     }
 
     // calculate the transform to be applied to objects to move them to 0,0
-    NR::Point move_p = NR::Point(0, sp_document_height(doc)) - (r->min() + NR::Point (0, r->extent(NR::Y)));
-    move_p[NR::Y] = -move_p[NR::Y];
-    NR::Matrix move = NR::Matrix (NR::translate (move_p));
+    Geom::Point move_p = Geom::Point(0, sp_document_height(doc)) - (r->min() + Geom::Point (0, r->dimensions()[NR::Y]));
+    move_p[Geom::Y] = -move_p[Geom::Y];
+    NR::Matrix move = NR::Matrix (Geom::Translate (move_p));
 
     GSList *items = g_slist_copy((GSList *) selection->itemList());
 
@@ -2251,7 +2261,7 @@ sp_selection_tile(SPDesktop *desktop, bool apply)
     prefs->setInt("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED);
 
     gchar const *pat_id = pattern_tile(repr_copies, bounds, doc,
-                                       ( NR::Matrix(NR::translate(desktop->dt2doc(NR::Point(r->min()[NR::X],
+                                       ( NR::Matrix(Geom::Translate(desktop->dt2doc(NR::Point(r->min()[NR::X],
                                                                                             r->max()[NR::Y]))))
                                          * parent_transform.inverse() ),
                                        parent_transform * move);
@@ -2545,8 +2555,8 @@ sp_selection_create_bitmap_copy (SPDesktop *desktop)
     }
 
     // Calculate the matrix that will be applied to the image so that it exactly overlaps the source objects
-    NR::Matrix eek (sp_item_i2d_affine (SP_ITEM(parent_object)));
-    NR::Matrix t;
+    Geom::Matrix eek (sp_item_i2d_affine (SP_ITEM(parent_object)));
+    Geom::Matrix t;
 
     double shift_x = bbox.x0;
     double shift_y = bbox.y1;
@@ -2554,7 +2564,7 @@ sp_selection_create_bitmap_copy (SPDesktop *desktop)
         shift_x = round (shift_x);
         shift_y = -round (-shift_y); // this gets correct rounding despite coordinate inversion, remove the negations when the inversion is gone
     }
-    t = NR::scale(1, -1) * NR::translate (shift_x, shift_y) * eek.inverse();
+    t = Geom::Scale(1, -1) * Geom::Translate (shift_x, shift_y) * eek.inverse();
 
     // Do the export
     sp_export_png_file(document, filepath,
@@ -2861,7 +2871,7 @@ fit_canvas_to_selection(SPDesktop *desktop)
         desktop->messageStack()->flash(Inkscape::WARNING_MESSAGE, _("Select <b>object(s)</b> to fit canvas to."));
         return false;
     }
-    boost::optional<Geom::Rect> const bbox(to_2geom(desktop->selection->bounds()));
+    boost::optional<Geom::Rect> const bbox(desktop->selection->bounds());
     if (bbox && !bbox->isEmpty()) {
         doc->fitToRect(*bbox);
         return true;
@@ -2889,7 +2899,7 @@ fit_canvas_to_drawing(SPDocument *doc)
 
     sp_document_ensure_up_to_date(doc);
     SPItem const *const root = SP_ITEM(doc->root);
-    boost::optional<Geom::Rect> const bbox(to_2geom(root->getBounds(sp_item_i2r_affine(root))));
+    boost::optional<Geom::Rect> const bbox(root->getBounds(sp_item_i2r_affine(root)));
     if (bbox && !bbox->isEmpty()) {
         doc->fitToRect(*bbox);
         return true;
index 9b9b484851595c137eb6bb8604e778c33d0153ae..bd695ff8b3c85f3da3697e9a4726a3ef2825e85d 100644 (file)
@@ -24,6 +24,7 @@
 #include "desktop-handles.h"
 #include "document.h"
 #include "selection.h"
+#include "helper/recthull.h"
 #include "xml/repr.h"
 
 #include "sp-shape.h"
@@ -378,46 +379,21 @@ Inkscape::XML::Node *Selection::singleRepr() {
 NRRect *Selection::bounds(NRRect *bbox, SPItem::BBoxType type) const
 {
     g_return_val_if_fail (bbox != NULL, NULL);
-    *bbox = NRRect(bounds(type));
+    bounds(bbox, type);
     return bbox;
 }
 
-boost::optional<NR::Rect> Selection::bounds(SPItem::BBoxType type) const
+boost::optional<Geom::Rect> Selection::bounds(SPItem::BBoxType type) const
 {
     GSList const *items = const_cast<Selection *>(this)->itemList();
 
-    boost::optional<NR::Rect> bbox;
+    boost::optional<Geom::Rect> bbox;
     for ( GSList const *i = items ; i != NULL ; i = i->next ) {
-        bbox = NR::union_bounds(bbox, sp_item_bbox_desktop(SP_ITEM(i->data), type));
+        bbox = unify(bbox, sp_item_bbox_desktop(SP_ITEM(i->data), type));
     }
     return bbox;
 }
 
-// TODO: This should be replaces by a proper 2geom function
-inline Geom::Rect union_bounds_2geom(boost::optional<Geom::Rect> const & a, Geom::Rect const &b) {
-    if (a) {
-        return union_bounds_2geom(*a, b);
-    } else {
-        return b;
-    }
-}
-
-boost::optional<Geom::Rect> Selection::bounds_2geom(SPItem::BBoxType type) const
-{
-    GSList const *items = const_cast<Selection *>(this)->itemList();
-
-    boost::optional<NR::Rect> bbox;
-    for ( GSList const *i = items ; i != NULL ; i = i->next ) {
-        bbox = union_bounds(bbox, sp_item_bbox_desktop(SP_ITEM(i->data), type));
-    }
-    // TODO: eliminate this conversion after the switch to 2geom
-    boost::optional<Geom::Rect> bbox_ret;
-    if (bbox) {
-        bbox_ret = to_2geom(*bbox);
-    }
-    return bbox_ret;
-}
-
 NRRect *Selection::boundsInDocument(NRRect *bbox, SPItem::BBoxType type) const {
     g_return_val_if_fail (bbox != NULL, NULL);
 
@@ -439,9 +415,9 @@ NRRect *Selection::boundsInDocument(NRRect *bbox, SPItem::BBoxType type) const {
     return bbox;
 }
 
-boost::optional<NR::Rect> Selection::boundsInDocument(SPItem::BBoxType type) const {
+boost::optional<Geom::Rect> Selection::boundsInDocument(SPItem::BBoxType type) const {
     NRRect r;
-    return boundsInDocument(&r, type)->upgrade();
+    return to_2geom(boundsInDocument(&r, type)->upgrade());
 }
 
 /** Extract the position of the center from the first selected object */
@@ -454,9 +430,9 @@ boost::optional<Geom::Point> Selection::center() const {
             return first->getCenter();
         }
     }
-    boost::optional<NR::Rect> bbox = bounds();
+    boost::optional<Geom::Rect> bbox = bounds();
     if (bbox) {
-        return to_2geom(bounds()->midpoint());
+        return bounds()->midpoint();
     } else {
         return boost::optional<Geom::Point>();
     }
@@ -465,9 +441,9 @@ boost::optional<Geom::Point> Selection::center() const {
 /**
  * Compute the list of points in the selection that are to be considered for snapping.
  */
-std::vector<NR::Point> Selection::getSnapPoints(bool includeItemCenter) const {
+std::vector<Geom::Point> Selection::getSnapPoints(bool includeItemCenter) const {
     GSList const *items = const_cast<Selection *>(this)->itemList();
-    std::vector<NR::Point> p;
+    std::vector<Geom::Point> 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));
@@ -481,24 +457,24 @@ std::vector<NR::Point> Selection::getSnapPoints(bool includeItemCenter) const {
     return p;
 }
 
-std::vector<NR::Point> Selection::getSnapPointsConvexHull() const {
+std::vector<Geom::Point> Selection::getSnapPointsConvexHull() const {
     GSList const *items = const_cast<Selection *>(this)->itemList();
 
-    std::vector<NR::Point> p;
+    std::vector<Geom::Point> p;
     for (GSList const *iter = items; iter != NULL; iter = iter->next) {
                sp_item_snappoints(SP_ITEM(iter->data), false, SnapPointsIter(p));
     }
 
-    std::vector<NR::Point> pHull;
+    std::vector<Geom::Point> pHull;
     if (!p.empty()) {
-        std::vector<NR::Point>::iterator i;
-        NR::ConvexHull cvh(p.front());
+        std::vector<Geom::Point>::iterator i;
+        Geom::RectHull cvh(p.front());
         for (i = p.begin(); i != p.end(); i++) {
             // these are the points we get back
             cvh.add(*i);
         }
 
-        boost::optional<NR::Rect> rHull = cvh.bounds();
+        boost::optional<Geom::Rect> rHull = cvh.bounds();
         if (rHull) {
             for ( unsigned i = 0 ; i < 4 ; ++i ) {
                 pHull.push_back(rHull->corner(i));
index 2e7bddf81a954f20f03211eff1ab220a7ed128e1..6ae462fc36c9b57ce534a252a2d1cd3b8db98e52 100644 (file)
@@ -243,8 +243,7 @@ public:
     /** @brief Returns the bounding rectangle of the selection */
     NRRect *bounds(NRRect *dest, SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) const;
     /** @brief Returns the bounding rectangle of the selection */
-    boost::optional<NR::Rect> bounds(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) const;
-    boost::optional<Geom::Rect> bounds_2geom(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) const;
+    boost::optional<Geom::Rect> bounds(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) const;
 
     /**
      * @brief Returns the bounding rectangle of the selection
@@ -258,7 +257,7 @@ public:
      *
      * \todo how is this different from bounds()?
      */
-    boost::optional<NR::Rect> boundsInDocument(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) const;
+    boost::optional<Geom::Rect> boundsInDocument(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) const;
 
     /**
      * @brief Returns the rotation/skew center of the selection
@@ -269,13 +268,13 @@ public:
      * @brief Gets the selection's snap points.
      * @return Selection's snap points
      */
-    std::vector<NR::Point> getSnapPoints(bool includeItemCenter) const;
+    std::vector<Geom::Point> getSnapPoints(bool includeItemCenter) const;
 
     /**
      * @brief Gets the snap points of a selection that form a convex hull.
      * @return Selection's convex hull points
      */
-    std::vector<NR::Point> getSnapPointsConvexHull() const;
+    std::vector<Geom::Point> getSnapPointsConvexHull() const;
 
     /**
      * @brief Connects a slot to be notified of selection changes
index 0afa552ea0183b45398970566c59d3b42a13fa82..4a0dd0bf779b015f3e6474b37a0ed9c1217e8b23 100644 (file)
@@ -13,6 +13,7 @@
  */
 
 #include "display/sodipodi-ctrl.h"
+#include <2geom/forward.h>
 
 namespace Inkscape
 {
@@ -23,29 +24,29 @@ class SPSelTransHandle;
 
 // request handlers
 gboolean sp_sel_trans_scale_request(Inkscape::SelTrans *seltrans,
-                                   SPSelTransHandle const &handle, NR::Point &p, guint state);
+                                   SPSelTransHandle const &handle, Geom::Point &p, guint state);
 gboolean sp_sel_trans_stretch_request(Inkscape::SelTrans *seltrans,
-                                     SPSelTransHandle const &handle, NR::Point &p, guint state);
+                                     SPSelTransHandle const &handle, Geom::Point &p, guint state);
 gboolean sp_sel_trans_skew_request(Inkscape::SelTrans *seltrans,
-                                  SPSelTransHandle const &handle, NR::Point &p, guint state);
+                                  SPSelTransHandle const &handle, Geom::Point &p, guint state);
 gboolean sp_sel_trans_rotate_request(Inkscape::SelTrans *seltrans,
-                                    SPSelTransHandle const &handle, NR::Point &p, guint state);
+                                    SPSelTransHandle const &handle, Geom::Point &p, guint state);
 gboolean sp_sel_trans_center_request(Inkscape::SelTrans *seltrans,
-                                    SPSelTransHandle const &handle, NR::Point &p, guint state);
+                                    SPSelTransHandle const &handle, Geom::Point &p, guint state);
 
 // action handlers
-void sp_sel_trans_scale(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &p, guint state);
-void sp_sel_trans_stretch(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &p, guint state);
-void sp_sel_trans_skew(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &p, guint state);
-void sp_sel_trans_rotate(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &p, guint state);
-void sp_sel_trans_center(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &p, guint state);
+void sp_sel_trans_scale(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &p, guint state);
+void sp_sel_trans_stretch(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &p, guint state);
+void sp_sel_trans_skew(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &p, guint state);
+void sp_sel_trans_rotate(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &p, guint state);
+void sp_sel_trans_center(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &p, guint state);
 
 struct SPSelTransHandle {
        GtkAnchorType anchor;
        GdkCursorType cursor;
        guint control;
-       void (* action) (Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &p, guint state);
-       gboolean (* request) (Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &p, guint state);
+       void (* action) (Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &p, guint state);
+       gboolean (* request) (Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &p, guint state);
        gdouble x, y;
 };
 
index f5572796d27d44790c8cd4eb9cd8795d1339fc85..6ae7948f1eee14c2d5d7d3d82c8566f5bcc15ff6 100644 (file)
 #include <cstring>
 #include <string>
 
-#include <libnr/nr-matrix-ops.h>
-#include <libnr/nr-matrix-translate-ops.h>
-#include <libnr/nr-rotate-ops.h>
-#include <libnr/nr-scale-ops.h>
-#include <libnr/nr-translate-matrix-ops.h>
-#include <libnr/nr-translate-ops.h>
+#include <2geom/transforms.h>
 #include <gdk/gdkkeysyms.h>
 #include "document.h"
 #include "sp-namedview.h"
@@ -49,7 +44,7 @@
 #include "prefs-utils.h"
 #include "xml/repr.h"
 #include "mod360.h"
-#include "2geom/angle.h"
+#include <2geom/angle.h>
 #include "display/snap-indicator.h"
 
 
@@ -58,8 +53,8 @@ static void sp_remove_handles(SPKnot *knot[], gint num);
 static void sp_sel_trans_handle_grab(SPKnot *knot, guint state, gpointer data);
 static void sp_sel_trans_handle_ungrab(SPKnot *knot, guint state, gpointer data);
 static void sp_sel_trans_handle_click(SPKnot *knot, guint state, gpointer data);
-static void sp_sel_trans_handle_new_event(SPKnot *knot, NR::Point *position, guint32 state, gpointer data);
-static gboolean sp_sel_trans_handle_request(SPKnot *knot, NR::Point *p, guint state, gboolean *data);
+static void sp_sel_trans_handle_new_event(SPKnot *knot, Geom::Point *position, guint32 state, gpointer data);
+static gboolean sp_sel_trans_handle_request(SPKnot *knot, Geom::Point *p, guint state, gboolean *data);
 
 extern GdkPixbuf *handles[];
 
@@ -96,12 +91,12 @@ Inkscape::SelTrans::SelTrans(SPDesktop *desktop) :
     _show_handles(true),
     _bbox(),
     _approximate_bbox(),
-    _absolute_affine(NR::scale(1,1)),
-    _opposite(NR::Point(0,0)),
-    _opposite_for_specpoints(NR::Point(0,0)),
-    _opposite_for_bboxpoints(NR::Point(0,0)),
-    _origin_for_specpoints(NR::Point(0,0)),
-    _origin_for_bboxpoints(NR::Point(0,0)),
+    _absolute_affine(Geom::Scale(1,1)),
+    _opposite(Geom::Point(0,0)),
+    _opposite_for_specpoints(Geom::Point(0,0)),
+    _opposite_for_bboxpoints(Geom::Point(0,0)),
+    _origin_for_specpoints(Geom::Point(0,0)),
+    _origin_for_bboxpoints(Geom::Point(0,0)),
     _chandle(NULL),
     _stamp_cache(NULL),
     _message_context(desktop->messageStack())
@@ -118,7 +113,7 @@ Inkscape::SelTrans::SelTrans(SPDesktop *desktop) :
     }
 
     _updateVolatileState();
-    _current_relative_affine.set_identity();
+    _current_relative_affine.setIdentity();
 
     _center_is_set = false; // reread _center from items, or set to bbox midpoint
 
@@ -232,7 +227,7 @@ void Inkscape::SelTrans::increaseState()
     _updateHandles();
 }
 
-void Inkscape::SelTrans::setCenter(NR::Point const &p)
+void Inkscape::SelTrans::setCenter(Geom::Point const &p)
 {
     _center = p;
     _center_is_set = true;
@@ -247,7 +242,7 @@ void Inkscape::SelTrans::setCenter(NR::Point const &p)
     _updateHandles();
 }
 
-void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool show_handles)
+void Inkscape::SelTrans::grab(Geom::Point const &p, gdouble x, gdouble y, bool show_handles)
 {
     Inkscape::Selection *selection = sp_desktop_selection(_desktop);
 
@@ -256,7 +251,7 @@ void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool sho
     _grabbed = true;
     _show_handles = show_handles;
     _updateVolatileState();
-    _current_relative_affine.set_identity();
+    _current_relative_affine.setIdentity();
 
     _changed = false;
 
@@ -284,7 +279,7 @@ void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool sho
     _geometric_bbox = selection->bounds(SPItem::GEOMETRIC_BBOX);
     _point = p;
     if (_geometric_bbox) {
-        _point_geom = _geometric_bbox->min() + _geometric_bbox->dimensions() * NR::scale(x, y);
+        _point_geom = _geometric_bbox->min() + _geometric_bbox->dimensions() * Geom::Scale(x, y);
     } else {
         _point_geom = p;
     }
@@ -292,9 +287,8 @@ void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool sho
     // Next, get all points to consider for snapping
     SnapManager const &m = _desktop->namedview->snap_manager;
     _snap_points.clear();
-    to_2geom(selection->getSnapPoints(m.getIncludeItemCenter()), _snap_points);
-    std::vector<Geom::Point> snap_points_hull;
-    to_2geom(selection->getSnapPointsConvexHull(), snap_points_hull);
+    _snap_points = selection->getSnapPoints(m.getIncludeItemCenter());
+    std::vector<Geom::Point> snap_points_hull = selection->getSnapPointsConvexHull();
     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
@@ -306,10 +300,10 @@ void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool sho
     // Find bbox hulling all special points, which excludes stroke width. Here we need to include the
     // path nodes, for example because a rectangle which has been converted to a path doesn't have
     // any other special points
-    NR::Rect snap_points_bbox;
+    Geom::Rect snap_points_bbox;
     if ( snap_points_hull.empty() == false ) {
         std::vector<Geom::Point>::iterator i = snap_points_hull.begin();
-        snap_points_bbox = NR::Rect(*i, *i);
+        snap_points_bbox = Geom::Rect(*i, *i);
         i++;
         while (i != snap_points_hull.end()) {
             snap_points_bbox.expandTo(*i);
@@ -321,7 +315,7 @@ void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool sho
     if (_bbox) {
         // ... and add the bbox corners to _bbox_points
         for ( unsigned i = 0 ; i < 4 ; i++ ) {
-            _bbox_points.push_back(to_2geom(_bbox->corner(i)));
+            _bbox_points.push_back(_bbox->corner(i));
         }
         // There are two separate "opposites" (i.e. opposite w.r.t. the handle being dragged):
         //  - one for snapping the boundingbox, which can be either visual or geometric
@@ -329,21 +323,21 @@ void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool sho
         // The "opposite" in case of a geometric boundingbox always coincides with the "opposite" for the special points
         // These distinct "opposites" are needed in the snapmanager to avoid bugs such as #sf1540195 (in which
         // a box is caught between two guides)
-        _opposite_for_bboxpoints = _bbox->min() + _bbox->dimensions() * NR::scale(1-x, 1-y);
-        _opposite_for_specpoints = snap_points_bbox.min() + snap_points_bbox.dimensions() * NR::scale(1-x, 1-y);
+        _opposite_for_bboxpoints = _bbox->min() + _bbox->dimensions() * Geom::Scale(1-x, 1-y);
+        _opposite_for_specpoints = snap_points_bbox.min() + snap_points_bbox.dimensions() * Geom::Scale(1-x, 1-y);
         _opposite = _opposite_for_bboxpoints;
     }
 
     // The lines below are usefull for debugging any snapping issues, as they'll spit out all points that are considered for snapping
 
     /*std::cout << "Number of snap points:  " << _snap_points.size() << std::endl;
-    for (std::vector<NR::Point>::const_iterator i = _snap_points.begin(); i != _snap_points.end(); i++)
+    for (std::vector<Geom::Point>::const_iterator i = _snap_points.begin(); i != _snap_points.end(); i++)
     {
         std::cout << "    " << *i << std::endl;
     }
 
     std::cout << "Number of bbox points:  " << _bbox_points.size() << std::endl;
-    for (std::vector<NR::Point>::const_iterator i = _bbox_points.begin(); i != _bbox_points.end(); i++)
+    for (std::vector<Geom::Point>::const_iterator i = _bbox_points.begin(); i != _bbox_points.end(); i++)
     {
         std::cout << "    " << *i << std::endl;
     }*/
@@ -362,23 +356,23 @@ void Inkscape::SelTrans::grab(NR::Point const &p, gdouble x, gdouble y, bool sho
     g_return_if_fail(_stamp_cache == NULL);
 }
 
-void Inkscape::SelTrans::transform(NR::Matrix const &rel_affine, NR::Point const &norm)
+void Inkscape::SelTrans::transform(Geom::Matrix const &rel_affine, Geom::Point const &norm)
 {
     g_return_if_fail(_grabbed);
     g_return_if_fail(!_empty);
 
-    NR::Matrix const affine( NR::translate(-norm) * rel_affine * NR::translate(norm) );
+    Geom::Matrix const affine( Geom::Translate(-norm) * rel_affine * Geom::Translate(norm) );
 
     if (_show == SHOW_CONTENT) {
         // update the content
         for (unsigned i = 0; i < _items.size(); i++) {
             SPItem &item = *_items[i];
-            NR::Matrix const &prev_transform = _items_affines[i];
+            Geom::Matrix const &prev_transform = _items_affines[i];
             sp_item_set_i2d_affine(&item, prev_transform * affine);
         }
     } else {
         if (_bbox) {
-            NR::Point p[4];
+            Geom::Point p[4];
             /* update the outline */
             for (unsigned i = 0 ; i < 4 ; i++) {
                 p[i] = _bbox->corner(i) * affine;
@@ -432,7 +426,7 @@ void Inkscape::SelTrans::ungrab()
 // If dragging showed content live, sp_selection_apply_affine cannot change the centers
 // appropriately - it does not know the original positions of the centers (all objects already have
 // the new bboxes). So we need to reset the centers from our saved array.
-        if (_show != SHOW_OUTLINE && !_current_relative_affine.is_translation()) {
+        if (_show != SHOW_OUTLINE && !_current_relative_affine.isTranslation()) {
             for (unsigned i = 0; i < _items_centers.size(); i++) {
                 SPItem *currentItem = _items[i];
                 if (currentItem->isCenterSet()) { // only if it's already set
@@ -447,13 +441,13 @@ void Inkscape::SelTrans::ungrab()
         _items_affines.clear();
         _items_centers.clear();
 
-        if (_current_relative_affine.is_translation()) {
+        if (_current_relative_affine.isTranslation()) {
             sp_document_done(sp_desktop_document(_desktop), SP_VERB_CONTEXT_SELECT,
                              _("Move"));
-        } else if (_current_relative_affine.is_scale()) {
+        } else if (_current_relative_affine.isScale()) {
             sp_document_done(sp_desktop_document(_desktop), SP_VERB_CONTEXT_SELECT,
                              _("Scale"));
-        } else if (_current_relative_affine.is_rotation()) {
+        } else if (_current_relative_affine.isRotation()) {
             sp_document_done(sp_desktop_document(_desktop), SP_VERB_CONTEXT_SELECT,
                              _("Rotate"));
         } else {
@@ -527,8 +521,8 @@ void Inkscape::SelTrans::stamp()
 
             Geom::Matrix const *new_affine;
             if (_show == SHOW_OUTLINE) {
-                NR::Matrix const i2d(sp_item_i2d_affine(original_item));
-                NR::Matrix const i2dnew( i2d * _current_relative_affine );
+                Geom::Matrix const i2d(sp_item_i2d_affine(original_item));
+                Geom::Matrix const i2dnew( i2d * _current_relative_affine );
                 sp_item_set_i2d_affine(copy_item, i2dnew);
                 new_affine = &copy_item->transform;
             } else {
@@ -676,12 +670,12 @@ void Inkscape::SelTrans::_showHandles(SPKnot *knot[], SPSelTransHandle const han
         }
         sp_knot_show(knot[i]);
 
-        NR::Point const handle_pt(handle[i].x, handle[i].y);
+        Geom::Point const handle_pt(handle[i].x, handle[i].y);
         // shouldn't have nullary bbox, but knots
         g_assert(_bbox);
-        NR::Point p( _bbox->min()
+        Geom::Point p( _bbox->min()
                      + ( _bbox->dimensions()
-                         * NR::scale(handle_pt) ) );
+                         * Geom::Scale(handle_pt) ) );
 
         sp_knot_moveto(knot[i], p);
     }
@@ -699,14 +693,14 @@ static void sp_sel_trans_handle_ungrab(SPKnot *knot, guint /*state*/, gpointer /
     SP_SELECT_CONTEXT(knot->desktop->event_context)->_seltrans->ungrab();
 }
 
-static void sp_sel_trans_handle_new_event(SPKnot *knot, NR::Point *position, guint state, gpointer data)
+static void sp_sel_trans_handle_new_event(SPKnot *knot, Geom::Point *position, guint state, gpointer data)
 {
     SP_SELECT_CONTEXT(knot->desktop->event_context)->_seltrans->handleNewEvent(
         knot, position, state, *(SPSelTransHandle const *) data
         );
 }
 
-static gboolean sp_sel_trans_handle_request(SPKnot *knot, NR::Point *position, guint state, gboolean *data)
+static gboolean sp_sel_trans_handle_request(SPKnot *knot, Geom::Point *position, guint state, gboolean *data)
 {
     return SP_SELECT_CONTEXT(knot->desktop->event_context)->_seltrans->handleRequest(
         knot, position, state, *(SPSelTransHandle const *) data
@@ -767,7 +761,7 @@ void Inkscape::SelTrans::handleGrab(SPKnot *knot, guint /*state*/, SPSelTransHan
 }
 
 
-void Inkscape::SelTrans::handleNewEvent(SPKnot *knot, NR::Point *position, guint state, SPSelTransHandle const &handle)
+void Inkscape::SelTrans::handleNewEvent(SPKnot *knot, Geom::Point *position, guint state, SPSelTransHandle const &handle)
 {
     if (!SP_KNOT_IS_GRABBED(knot)) {
         return;
@@ -785,7 +779,7 @@ void Inkscape::SelTrans::handleNewEvent(SPKnot *knot, NR::Point *position, guint
 }
 
 
-gboolean Inkscape::SelTrans::handleRequest(SPKnot *knot, NR::Point *position, guint state, SPSelTransHandle const &handle)
+gboolean Inkscape::SelTrans::handleRequest(SPKnot *knot, Geom::Point *position, guint state, SPSelTransHandle const &handle)
 {
     if (!SP_KNOT_IS_GRABBED(knot)) {
         return TRUE;
@@ -828,7 +822,7 @@ void Inkscape::SelTrans::_selChanged(Inkscape::Selection */*selection*/)
         //SPItem::APPROXIMATE_BBOX will be replaced by SPItem::VISUAL_BBOX, as soon as the latter is implemented properly
 
         _updateVolatileState();
-        _current_relative_affine.set_identity();
+        _current_relative_affine.setIdentity();
         _center_is_set = false; // center(s) may have changed
         _updateHandles();
     }
@@ -838,7 +832,7 @@ void Inkscape::SelTrans::_selModified(Inkscape::Selection */*selection*/, guint
 {
     if (!_grabbed) {
         _updateVolatileState();
-        _current_relative_affine.set_identity();
+        _current_relative_affine.setIdentity();
 
         // reset internal flag
         _changed = false;
@@ -862,45 +856,45 @@ static double sign(double const x)
 }
 
 gboolean sp_sel_trans_scale_request(Inkscape::SelTrans *seltrans,
-                                    SPSelTransHandle const &, NR::Point &pt, guint state)
+                                    SPSelTransHandle const &, Geom::Point &pt, guint state)
 {
     return seltrans->scaleRequest(pt, state);
 }
 
 gboolean sp_sel_trans_stretch_request(Inkscape::SelTrans *seltrans,
-                                      SPSelTransHandle const &handle, NR::Point &pt, guint state)
+                                      SPSelTransHandle const &handle, Geom::Point &pt, guint state)
 {
     return seltrans->stretchRequest(handle, pt, state);
 }
 
 gboolean sp_sel_trans_skew_request(Inkscape::SelTrans *seltrans,
-                                   SPSelTransHandle const &handle, NR::Point &pt, guint state)
+                                   SPSelTransHandle const &handle, Geom::Point &pt, guint state)
 {
     return seltrans->skewRequest(handle, pt, state);
 }
 
 gboolean sp_sel_trans_rotate_request(Inkscape::SelTrans *seltrans,
-                                     SPSelTransHandle const &, NR::Point &pt, guint state)
+                                     SPSelTransHandle const &, Geom::Point &pt, guint state)
 {
     return seltrans->rotateRequest(pt, state);
 }
 
 gboolean sp_sel_trans_center_request(Inkscape::SelTrans *seltrans,
-                                     SPSelTransHandle const &, NR::Point &pt, guint state)
+                                     SPSelTransHandle const &, Geom::Point &pt, guint state)
 {
     return seltrans->centerRequest(pt, state);
 }
 
-gboolean Inkscape::SelTrans::scaleRequest(NR::Point &pt, guint state)
+gboolean Inkscape::SelTrans::scaleRequest(Geom::Point &pt, guint state)
 {
 
     // Calculate the scale factors, which can be either visual or geometric
     // depending on which type of bbox is currently being used (see preferences -> selector tool)
-    NR::scale default_scale = calcScaleFactors(_point, pt, _origin);
+    Geom::Scale default_scale = calcScaleFactors(_point, pt, _origin);
 
     // Find the scale factors for the geometric bbox
-    NR::Point pt_geom = _getGeomHandlePos(pt);
-    NR::scale geom_scale = calcScaleFactors(_point_geom, pt_geom, _origin_for_specpoints);
+    Geom::Point pt_geom = _getGeomHandlePos(pt);
+    Geom::Scale geom_scale = calcScaleFactors(_point_geom, pt_geom, _origin_for_specpoints);
 
     _absolute_affine = Geom::identity(); //Initialize the scaler
 
@@ -922,42 +916,38 @@ gboolean Inkscape::SelTrans::scaleRequest(NR::Point &pt, guint state)
         m.setup(_desktop, false, _items_const);
 
         Inkscape::SnappedPoint bb, sn;
-        NR::Coord bd(NR_HUGE);
-        NR::Coord sd(NR_HUGE);
+        Geom::Coord bd(NR_HUGE);
+        Geom::Coord sd(NR_HUGE);
 
         if ((state & GDK_CONTROL_MASK) || _desktop->isToolboxButtonActive ("lock")) {
             // Scale is locked to a 1:1 aspect ratio, so that s[X] must be made to equal s[Y].
             //
             // The aspect-ratio must be locked before snapping
-            if (fabs(default_scale[NR::X]) > fabs(default_scale[NR::Y])) {
-                default_scale[NR::X] = fabs(default_scale[NR::Y]) * sign(default_scale[NR::X]);
-                geom_scale[NR::X] = fabs(geom_scale[NR::Y]) * sign(geom_scale[NR::X]);
+            if (fabs(default_scale[Geom::X]) > fabs(default_scale[Geom::Y])) {
+                default_scale[Geom::X] = fabs(default_scale[Geom::Y]) * sign(default_scale[Geom::X]);
+                geom_scale[Geom::X] = fabs(geom_scale[Geom::Y]) * sign(geom_scale[Geom::X]);
             } else {
-                default_scale[NR::Y] = fabs(default_scale[NR::X]) * sign(default_scale[NR::Y]);
-                geom_scale[NR::Y] = fabs(geom_scale[NR::X]) * sign(geom_scale[NR::Y]);
+                default_scale[Geom::Y] = fabs(default_scale[Geom::X]) * sign(default_scale[Geom::Y]);
+                geom_scale[Geom::Y] = fabs(geom_scale[Geom::X]) * sign(geom_scale[Geom::Y]);
             }
 
             // Snap along a suitable constraint vector from the origin.
-            Geom::Scale default_scale_2geom = to_2geom(default_scale);
-            Geom::Scale geom_scale_2geom = to_2geom(geom_scale);
-            bb = m.constrainedSnapScale(Snapper::SNAPPOINT_BBOX, _bbox_points, default_scale_2geom, to_2geom(_origin_for_bboxpoints));
-            sn = m.constrainedSnapScale(Snapper::SNAPPOINT_NODE, _snap_points, geom_scale_2geom, to_2geom(_origin_for_specpoints));
+            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);
 
             /* Choose the smaller difference in scale.  Since s[X] == s[Y] we can
             ** just compare difference in s[X].
             */
-            bd = bb.getSnapped() ? fabs(bb.getTransformation()[NR::X] - default_scale_2geom[Geom::X]) : NR_HUGE;
-            sd = sn.getSnapped() ? fabs(sn.getTransformation()[NR::X] - geom_scale_2geom[Geom::X]) : NR_HUGE;
+            bd = bb.getSnapped() ? fabs(bb.getTransformation()[Geom::X] - default_scale[Geom::X]) : NR_HUGE;
+            sd = sn.getSnapped() ? fabs(sn.getTransformation()[Geom::X] - geom_scale[Geom::X]) : NR_HUGE;
         } else {
             /* Scale aspect ratio is unlocked */
-            Geom::Scale default_scale_2geom = to_2geom(default_scale);
-            Geom::Scale geom_scale_2geom = to_2geom(geom_scale);
-            bb = m.freeSnapScale(Snapper::SNAPPOINT_BBOX, _bbox_points, default_scale_2geom, to_2geom(_origin_for_bboxpoints));
-            sn = m.freeSnapScale(Snapper::SNAPPOINT_NODE, _snap_points, geom_scale_2geom, to_2geom(_origin_for_specpoints));
+            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);
 
             /* Pick the snap that puts us closest to the original scale */
-            bd = bb.getSnapped() ? fabs(NR::L2(bb.getTransformation()) - NR::L2(NR::Point(default_scale_2geom[Geom::X], default_scale_2geom[Geom::Y]))) : NR_HUGE;
-            sd = sn.getSnapped() ? fabs(NR::L2(sn.getTransformation()) - NR::L2(NR::Point(geom_scale_2geom[Geom::X], geom_scale_2geom[Geom::Y]))) : NR_HUGE;
+            bd = bb.getSnapped() ? fabs(Geom::L2(bb.getTransformation()) - Geom::L2(Geom::Point(default_scale[Geom::X], default_scale[Geom::Y]))) : NR_HUGE;
+            sd = sn.getSnapped() ? fabs(Geom::L2(sn.getTransformation()) - Geom::L2(Geom::Point(geom_scale[Geom::X], geom_scale[Geom::Y]))) : NR_HUGE;
         }
 
         if (!(bb.getSnapped() || sn.getSnapped())) {
@@ -967,7 +957,7 @@ gboolean Inkscape::SelTrans::scaleRequest(NR::Point &pt, guint state)
         } else if (bd < sd) {
             // We snapped the bbox (which is either visual or geometric)
             _desktop->snapindicator->set_new_snappoint(bb);
-            default_scale = NR::scale(bb.getTransformation());
+            default_scale = Geom::Scale(bb.getTransformation());
             // Calculate the new transformation and update the handle position
             pt = _calcAbsAffineDefault(default_scale);
         } else {
@@ -975,7 +965,7 @@ gboolean Inkscape::SelTrans::scaleRequest(NR::Point &pt, guint state)
             // We snapped the special points (e.g. nodes), which are not at the visual bbox
             // The handle location however (pt) might however be at the visual bbox, so we
             // will have to calculate pt taking the stroke width into account
-            geom_scale = NR::scale(sn.getTransformation());
+            geom_scale = Geom::Scale(sn.getTransformation());
             pt = _calcAbsAffineGeom(geom_scale);
         }
     }
@@ -988,19 +978,19 @@ gboolean Inkscape::SelTrans::scaleRequest(NR::Point &pt, guint state)
     return TRUE;
 }
 
-gboolean Inkscape::SelTrans::stretchRequest(SPSelTransHandle const &handle, NR::Point &pt, guint state)
+gboolean Inkscape::SelTrans::stretchRequest(SPSelTransHandle const &handle, Geom::Point &pt, guint state)
 {
-    NR::Dim2 axis, perp;
+    Geom::Dim2 axis, perp;
     switch (handle.cursor) {
         case GDK_TOP_SIDE:
         case GDK_BOTTOM_SIDE:
-            axis = NR::Y;
-            perp = NR::X;
+            axis = Geom::Y;
+            perp = Geom::X;
             break;
         case GDK_LEFT_SIDE:
         case GDK_RIGHT_SIDE:
-            axis = NR::X;
-            perp = NR::Y;
+            axis = Geom::X;
+            perp = Geom::Y;
             break;
         default:
             g_assert_not_reached();
@@ -1009,12 +999,12 @@ gboolean Inkscape::SelTrans::stretchRequest(SPSelTransHandle const &handle, NR::
 
     // Calculate the scale factors, which can be either visual or geometric
     // depending on which type of bbox is currently being used (see preferences -> selector tool)
-    NR::scale default_scale = calcScaleFactors(_point, pt, _origin);
+    Geom::Scale default_scale = calcScaleFactors(_point, pt, _origin);
     default_scale[perp] = 1;
 
     // Find the scale factors for the geometric bbox
-    NR::Point pt_geom = _getGeomHandlePos(pt);
-    NR::scale geom_scale = calcScaleFactors(_point_geom, pt_geom, _origin_for_specpoints);
+    Geom::Point pt_geom = _getGeomHandlePos(pt);
+    Geom::Scale geom_scale = calcScaleFactors(_point_geom, pt_geom, _origin_for_specpoints);
     geom_scale[perp] = 1;
 
     _absolute_affine = Geom::identity(); //Initialize the scaler
@@ -1036,49 +1026,46 @@ gboolean Inkscape::SelTrans::stretchRequest(SPSelTransHandle const &handle, NR::
 
         Inkscape::SnappedPoint bb, sn;
         g_assert(bb.getSnapped() == false); // Check initialization to catch any regression
-        NR::Coord bd(NR_HUGE);
-        NR::Coord sd(NR_HUGE);
+        Geom::Coord bd(NR_HUGE);
+        Geom::Coord sd(NR_HUGE);
 
         bool symmetrical = state & GDK_CONTROL_MASK;
 
-        Geom::Scale default_scale_2geom = to_2geom(default_scale);
-        Geom::Scale geom_scale_2geom = to_2geom(geom_scale);
-
-        bb = m.constrainedSnapStretch(Snapper::SNAPPOINT_BBOX, _bbox_points, Geom::Coord(default_scale_2geom[axis]), to_2geom(_origin_for_bboxpoints), Geom::Dim2(axis), symmetrical);
-        sn = m.constrainedSnapStretch(Snapper::SNAPPOINT_NODE, _snap_points, Geom::Coord(geom_scale_2geom[axis]), to_2geom(_origin_for_specpoints), Geom::Dim2(axis), symmetrical);
+        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);
 
         if (bb.getSnapped()) {
             // We snapped the bbox (which is either visual or geometric)
-            bd = fabs(bb.getTransformation()[axis] - default_scale_2geom[axis]);
-            default_scale_2geom[axis] = bb.getTransformation()[axis];
+            bd = fabs(bb.getTransformation()[axis] - default_scale[axis]);
+            default_scale[axis] = bb.getTransformation()[axis];
         }
 
         if (sn.getSnapped()) {
-            sd = fabs(sn.getTransformation()[axis] - geom_scale_2geom[axis]);
-            geom_scale_2geom[axis] = sn.getTransformation()[axis];
+            sd = fabs(sn.getTransformation()[axis] - geom_scale[axis]);
+            geom_scale[axis] = sn.getTransformation()[axis];
         }
 
         if (symmetrical) {
             // on ctrl, apply symmetrical scaling instead of stretching
             // Preserve aspect ratio, but never flip in the dimension not being edited (by using fabs())
-            default_scale_2geom[perp] = fabs(default_scale_2geom[axis]);
-            geom_scale_2geom[perp] = fabs(geom_scale_2geom[axis]);
+            default_scale[perp] = fabs(default_scale[axis]);
+            geom_scale[perp] = fabs(geom_scale[axis]);
         }
 
         if (!(bb.getSnapped() || sn.getSnapped())) {
             // We didn't snap at all! Don't update the handle position, just calculate the new transformation
-            _calcAbsAffineDefault(from_2geom(default_scale_2geom));
+            _calcAbsAffineDefault(default_scale);
             _desktop->snapindicator->remove_snappoint();
         } else if (bd < sd) {
             _desktop->snapindicator->set_new_snappoint(bb);
             // Calculate the new transformation and update the handle position
-            pt = _calcAbsAffineDefault(from_2geom(default_scale_2geom));
+            pt = _calcAbsAffineDefault(default_scale);
         } else {
             _desktop->snapindicator->set_new_snappoint(sn);
             // We snapped the special points (e.g. nodes), which are not at the visual bbox
             // The handle location however (pt) might however be at the visual bbox, so we
             // will have to calculate pt taking the stroke width into account
-            pt = _calcAbsAffineGeom(from_2geom(geom_scale_2geom));
+            pt = _calcAbsAffineGeom(geom_scale);
         }
     }
 
@@ -1090,7 +1077,7 @@ gboolean Inkscape::SelTrans::stretchRequest(SPSelTransHandle const &handle, NR::
     return TRUE;
 }
 
-gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, NR::Point &pt, guint state)
+gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, Geom::Point &pt, guint state)
 {
     /* When skewing (or rotating):
      * 1) the stroke width will not change. This makes life much easier because we don't have to
@@ -1100,17 +1087,17 @@ gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, NR::Poi
      *    the handle; otherwise it will be relative to the center as set for the selection
      */
 
-    NR::Dim2 dim_a;
-    NR::Dim2 dim_b;
+    Geom::Dim2 dim_a;
+    Geom::Dim2 dim_b;
 
     switch (handle.cursor) {
         case GDK_SB_H_DOUBLE_ARROW:
-            dim_a = NR::Y;
-            dim_b = NR::X;
+            dim_a = Geom::Y;
+            dim_b = Geom::X;
             break;
         case GDK_SB_V_DOUBLE_ARROW:
-            dim_a = NR::X;
-            dim_b = NR::Y;
+            dim_a = Geom::X;
+            dim_b = Geom::Y;
             break;
         default:
             g_assert_not_reached();
@@ -1118,7 +1105,7 @@ gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, NR::Poi
             break;
     }
 
-    NR::Point const initial_delta = _point - _origin;
+    Geom::Point const initial_delta = _point - _origin;
 
     if (fabs(initial_delta[dim_a]) < 1e-15) {
         return false;
@@ -1126,8 +1113,8 @@ gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, NR::Poi
 
     // Calculate the scale factors, which can be either visual or geometric
     // depending on which type of bbox is currently being used (see preferences -> selector tool)
-    NR::scale scale = calcScaleFactors(_point, pt, _origin, false);
-    NR::scale skew = calcScaleFactors(_point, pt, _origin, true);
+    Geom::Scale scale = calcScaleFactors(_point, pt, _origin, false);
+    Geom::Scale skew = calcScaleFactors(_point, pt, _origin, true);
     scale[dim_b] = 1;
     skew[dim_b] = 1;
 
@@ -1159,21 +1146,15 @@ gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, NR::Poi
         m.setup(_desktop, false, _items_const);
 
         Inkscape::Snapper::ConstraintLine const constraint(component_vectors[dim_b]);
-        NR::Point const s(skew[dim_a], scale[dim_a]);
-        Inkscape::SnappedPoint bb = m.constrainedSnapSkew(Inkscape::Snapper::SNAPPOINT_BBOX, _bbox_points, constraint, to_2geom(s), to_2geom(_origin), Geom::Dim2(dim_b));
-        Inkscape::SnappedPoint sn = m.constrainedSnapSkew(Inkscape::Snapper::SNAPPOINT_NODE, _snap_points, constraint, to_2geom(s), to_2geom(_origin), Geom::Dim2(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));
 
-        if (bb.getSnapped() || sn.getSnapped()) {
+        if (sn.getSnapped()) {
             // We snapped something, so change the skew to reflect it
-            NR::Coord const bd = bb.getSnapped() ? bb.getTransformation()[0] : NR_HUGE;
-            NR::Coord const sd = sn.getSnapped() ? sn.getTransformation()[0] : NR_HUGE;
-            if (bd < sd) {
-                _desktop->snapindicator->set_new_snappoint(bb);
-                skew[dim_a] = bd;
-            } else {
-                _desktop->snapindicator->set_new_snappoint(sn);
-                skew[dim_a] = sd;
-            }
+            Geom::Coord const sd = sn.getSnapped() ? sn.getTransformation()[0] : NR_HUGE;
+             _desktop->snapindicator->set_new_snappoint(sn);
+            skew[dim_a] = sd;
         } else {
             _desktop->snapindicator->remove_snappoint();
         }
@@ -1207,7 +1188,7 @@ gboolean Inkscape::SelTrans::skewRequest(SPSelTransHandle const &handle, NR::Poi
     return TRUE;
 }
 
-gboolean Inkscape::SelTrans::rotateRequest(NR::Point &pt, guint state)
+gboolean Inkscape::SelTrans::rotateRequest(Geom::Point &pt, guint state)
 {
     /* When rotating (or skewing):
      * 1) the stroke width will not change. This makes life much easier because we don't have to
@@ -1220,40 +1201,40 @@ gboolean Inkscape::SelTrans::rotateRequest(NR::Point &pt, guint state)
     int snaps = prefs_get_int_attribute("options.rotationsnapsperpi", "value", 12);
 
     // rotate affine in rotate
-    NR::Point const d1 = _point - _origin;
-    NR::Point const d2 = pt     - _origin;
+    Geom::Point const d1 = _point - _origin;
+    Geom::Point const d2 = pt     - _origin;
 
-    NR::Coord const h1 = NR::L2(d1); // initial radius
+    Geom::Coord const h1 = Geom::L2(d1); // initial radius
     if (h1 < 1e-15) return FALSE;
-    NR::Point q1 = d1 / h1; // normalized initial vector to handle
-    NR::Coord const h2 = NR::L2(d2); // new radius
+    Geom::Point q1 = d1 / h1; // normalized initial vector to handle
+    Geom::Coord const h2 = Geom::L2(d2); // new radius
     if (fabs(h2) < 1e-15) return FALSE;
-    NR::Point q2 = d2 / h2; // normalized new vector to handle
+    Geom::Point q2 = d2 / h2; // normalized new vector to handle
 
     double radians;
     if (state & GDK_CONTROL_MASK) {
         // Snap to defined angle increments
-        double cos_t = NR::dot(q1, q2);
-        double sin_t = NR::dot(NR::rot90(q1), q2);
+        double cos_t = Geom::dot(q1, q2);
+        double sin_t = Geom::dot(Geom::rot90(q1), q2);
         radians = atan2(sin_t, cos_t);
         if (snaps) {
             radians = ( M_PI / snaps ) * floor( radians * snaps / M_PI + .5 );
         }
-        q1 = NR::Point(1, 0);
-        q2 = NR::Point(cos(radians), sin(radians));
+        q1 = Geom::Point(1, 0);
+        q2 = Geom::Point(cos(radians), sin(radians));
     } else {
-        radians = atan2(NR::dot(NR::rot90(d1), d2),
-                        NR::dot(d1, d2));
+        radians = atan2(Geom::dot(Geom::rot90(d1), d2),
+                        Geom::dot(d1, d2));
     }
 
-    NR::rotate const r1(q1);
-    NR::rotate const r2(q2);
+    Geom::Rotate const r1(q1);
+    Geom::Rotate const r2(q2);
 
     // Calculate the relative affine
-    _relative_affine = NR::Matrix(r2/r1);
+    _relative_affine = r2 * r1.inverse();
 
     // Update the handle position
-    pt = _point * NR::translate(-_origin) * _relative_affine * NR::translate(_origin);
+    pt = _point * Geom::Translate(-_origin) * _relative_affine * Geom::Translate(_origin);
 
     // Update the status text
     double degrees = mod360symm(Geom::rad_to_deg(radians));
@@ -1265,19 +1246,17 @@ gboolean Inkscape::SelTrans::rotateRequest(NR::Point &pt, guint state)
     return TRUE;
 }
 
-gboolean Inkscape::SelTrans::centerRequest(NR::Point &pt, guint state)
+gboolean Inkscape::SelTrans::centerRequest(Geom::Point &pt, guint state)
 {
     SnapManager &m = _desktop->namedview->snap_manager;
     m.setup(_desktop);
-    Geom::Point pt2g = to_2geom(pt);
-    m.freeSnapReturnByRef(Snapper::SNAPPOINT_NODE, pt2g);
-    pt = from_2geom(pt2g);
+    m.freeSnapReturnByRef(Snapper::SNAPPOINT_NODE, pt);
 
     if (state & GDK_CONTROL_MASK) {
-        if ( fabs(_point[NR::X] - pt[NR::X]) > fabs(_point[NR::Y] - pt[NR::Y]) ) {
-            pt[NR::Y] = _point[NR::Y];
+        if ( fabs(_point[Geom::X] - pt[Geom::X]) > fabs(_point[Geom::Y] - pt[Geom::Y]) ) {
+            pt[Geom::Y] = _point[Geom::Y];
         } else {
-            pt[NR::X] = _point[NR::X];
+            pt[Geom::X] = _point[Geom::X];
         }
     }
 
@@ -1301,8 +1280,8 @@ gboolean Inkscape::SelTrans::centerRequest(NR::Point &pt, guint state)
     }
 
     // status text
-    GString *xs = SP_PX_TO_METRIC_STRING(pt[NR::X], _desktop->namedview->getDefaultMetric());
-    GString *ys = SP_PX_TO_METRIC_STRING(pt[NR::Y], _desktop->namedview->getDefaultMetric());
+    GString *xs = SP_PX_TO_METRIC_STRING(pt[Geom::X], _desktop->namedview->getDefaultMetric());
+    GString *ys = SP_PX_TO_METRIC_STRING(pt[Geom::Y], _desktop->namedview->getDefaultMetric());
     _message_context.setF(Inkscape::NORMAL_MESSAGE, _("Move <b>center</b> to %s, %s"), xs->str, ys->str);
     g_string_free(xs, FALSE);
     g_string_free(ys, FALSE);
@@ -1315,59 +1294,59 @@ gboolean Inkscape::SelTrans::centerRequest(NR::Point &pt, guint state)
  *
  */
 
-void sp_sel_trans_stretch(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &pt, guint state)
+void sp_sel_trans_stretch(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &pt, guint state)
 {
     seltrans->stretch(handle, pt, state);
 }
 
-void sp_sel_trans_scale(Inkscape::SelTrans *seltrans, SPSelTransHandle const &, NR::Point &pt, guint state)
+void sp_sel_trans_scale(Inkscape::SelTrans *seltrans, SPSelTransHandle const &, Geom::Point &pt, guint state)
 {
     seltrans->scale(pt, state);
 }
 
-void sp_sel_trans_skew(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, NR::Point &pt, guint state)
+void sp_sel_trans_skew(Inkscape::SelTrans *seltrans, SPSelTransHandle const &handle, Geom::Point &pt, guint state)
 {
     seltrans->skew(handle, pt, state);
 }
 
-void sp_sel_trans_rotate(Inkscape::SelTrans *seltrans, SPSelTransHandle const &, NR::Point &pt, guint state)
+void sp_sel_trans_rotate(Inkscape::SelTrans *seltrans, SPSelTransHandle const &, Geom::Point &pt, guint state)
 {
     seltrans->rotate(pt, state);
 }
 
-void Inkscape::SelTrans::stretch(SPSelTransHandle const &/*handle*/, NR::Point &/*pt*/, guint /*state*/)
+void Inkscape::SelTrans::stretch(SPSelTransHandle const &/*handle*/, Geom::Point &/*pt*/, guint /*state*/)
 {
-    transform(_absolute_affine, NR::Point(0, 0)); // we have already accounted for origin, so pass 0,0
+    transform(_absolute_affine, Geom::Point(0, 0)); // we have already accounted for origin, so pass 0,0
 }
 
-void Inkscape::SelTrans::scale(NR::Point &/*pt*/, guint /*state*/)
+void Inkscape::SelTrans::scale(Geom::Point &/*pt*/, guint /*state*/)
 {
-    transform(_absolute_affine, NR::Point(0, 0)); // we have already accounted for origin, so pass 0,0
+    transform(_absolute_affine, Geom::Point(0, 0)); // we have already accounted for origin, so pass 0,0
 }
 
-void Inkscape::SelTrans::skew(SPSelTransHandle const &/*handle*/, NR::Point &/*pt*/, guint /*state*/)
+void Inkscape::SelTrans::skew(SPSelTransHandle const &/*handle*/, Geom::Point &/*pt*/, guint /*state*/)
 {
     transform(_relative_affine, _origin);
 }
 
-void Inkscape::SelTrans::rotate(NR::Point &/*pt*/, guint /*state*/)
+void Inkscape::SelTrans::rotate(Geom::Point &/*pt*/, guint /*state*/)
 {
     transform(_relative_affine, _origin);
 }
 
-void sp_sel_trans_center(Inkscape::SelTrans *seltrans, SPSelTransHandle const &, NR::Point &pt, guint /*state*/)
+void sp_sel_trans_center(Inkscape::SelTrans *seltrans, SPSelTransHandle const &, Geom::Point &pt, guint /*state*/)
 {
     seltrans->setCenter(pt);
 }
 
 
-void Inkscape::SelTrans::moveTo(NR::Point const &xy, guint state)
+void Inkscape::SelTrans::moveTo(Geom::Point const &xy, guint state)
 {
     SnapManager &m = _desktop->namedview->snap_manager;
     m.setup(_desktop, true, _items_const);
 
     /* The amount that we've moved by during this drag */
-    Geom::Point dxy = to_2geom(xy - _point);
+    Geom::Point dxy = xy - _point;
 
     bool const alt = (state & GDK_MOD1_MASK);
     bool const control = (state & GDK_CONTROL_MASK);
@@ -1421,7 +1400,7 @@ void Inkscape::SelTrans::moveTo(NR::Point const &xy, guint state)
 
             /* 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::Snapper::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;
@@ -1459,7 +1438,7 @@ void Inkscape::SelTrans::moveTo(NR::Point const &xy, guint state)
     
     Geom::Matrix const move((Geom::Translate(dxy)));
     Geom::Point const norm(0, 0);
-    transform(from_2geom(move), from_2geom(norm));
+    transform(move, norm);
 
     // status text
     GString *xs = SP_PX_TO_METRIC_STRING(dxy[Geom::X], _desktop->namedview->getDefaultMetric());
@@ -1471,7 +1450,7 @@ void Inkscape::SelTrans::moveTo(NR::Point const &xy, guint state)
 
 // Given a location of a handle at the visual bounding box, find the corresponding location at the
 // geometrical bounding box
-NR::Point Inkscape::SelTrans::_getGeomHandlePos(NR::Point const &visual_handle_pos)
+Geom::Point Inkscape::SelTrans::_getGeomHandlePos(Geom::Point const &visual_handle_pos)
 {
     if ( _snap_bbox_type == SPItem::GEOMETRIC_BBOX) {
         // When the selector tool is using geometric bboxes, then the handle is already
@@ -1484,32 +1463,32 @@ NR::Point Inkscape::SelTrans::_getGeomHandlePos(NR::Point const &visual_handle_p
         return visual_handle_pos;
     }
 
-    // Using the NR::Rect constructor below ensures that "min() < max()", which is important
+    // Using the Geom::Rect constructor below ensures that "min() < max()", which is important
     // because this will also hold for _bbox, and which is required for get_scale_transform_with_stroke()
-    NR::Rect new_bbox = NR::Rect(_origin_for_bboxpoints, visual_handle_pos); // new visual bounding box
+    Geom::Rect new_bbox = Geom::Rect(_origin_for_bboxpoints, visual_handle_pos); // new visual bounding box
     // Please note that the new_bbox might in fact be just a single line, for example when stretching (in
     // which case the handle and origin will be aligned vertically or horizontally)
-    NR::Point normalized_handle_pos = (visual_handle_pos - new_bbox.min()) * NR::scale(new_bbox.dimensions()).inverse();
+    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);
-    NR::Matrix abs_affine = get_scale_transform_with_stroke (*_bbox, _strokewidth, transform_stroke,
-                    new_bbox.min()[NR::X], new_bbox.min()[NR::Y], new_bbox.max()[NR::X], new_bbox.max()[NR::Y]);
+    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]);
 
     // Calculate the scaled geometrical bbox
-    NR::Rect new_geom_bbox = NR::Rect(_geometric_bbox->min() * abs_affine, _geometric_bbox->max() * abs_affine);
+    Geom::Rect new_geom_bbox = Geom::Rect(_geometric_bbox->min() * abs_affine, _geometric_bbox->max() * abs_affine);
     // Find the location of the handle on this new geometrical bbox
-    return normalized_handle_pos * NR::scale(new_geom_bbox.dimensions()) + new_geom_bbox.min(); //new position of the geometric handle
+    return normalized_handle_pos * Geom::Scale(new_geom_bbox.dimensions()) + new_geom_bbox.min(); //new position of the geometric handle
 }
 
-NR::scale Inkscape::calcScaleFactors(NR::Point const &initial_point, NR::Point const &new_point, NR::Point const &origin, bool const skew)
+Geom::Scale Inkscape::calcScaleFactors(Geom::Point const &initial_point, Geom::Point const &new_point, Geom::Point const &origin, bool const skew)
 {
     // Work out the new scale factors for the bbox
 
-    NR::Point const initial_delta = initial_point - origin;
-    NR::Point const new_delta = new_point - origin;
-    NR::Point const offset = new_point - initial_point;
-    NR::scale scale(1, 1);
+    Geom::Point const initial_delta = initial_point - origin;
+    Geom::Point const new_delta = new_point - origin;
+    Geom::Point const offset = new_point - initial_point;
+    Geom::Scale scale(1, 1);
 
     for ( unsigned int i = 0 ; i < 2 ; i++ ) {
         if ( fabs(initial_delta[i]) > 1e-6 ) {
@@ -1525,11 +1504,11 @@ NR::scale Inkscape::calcScaleFactors(NR::Point const &initial_point, NR::Point c
 }
 
 // Only for scaling/stretching
-NR::Point Inkscape::SelTrans::_calcAbsAffineDefault(NR::scale const default_scale)
+Geom::Point Inkscape::SelTrans::_calcAbsAffineDefault(Geom::Scale const default_scale)
 {
-    NR::Matrix abs_affine = NR::translate(-_origin) * NR::Matrix(default_scale) * NR::translate(_origin);
-    NR::Point new_bbox_min = _approximate_bbox->min() * abs_affine;
-    NR::Point new_bbox_max = _approximate_bbox->max() * abs_affine;
+    Geom::Matrix abs_affine = Geom::Translate(-_origin) * Geom::Matrix(default_scale) * Geom::Translate(_origin);
+    Geom::Point new_bbox_min = _approximate_bbox->min() * abs_affine;
+    Geom::Point new_bbox_max = _approximate_bbox->max() * abs_affine;
 
     int transform_stroke = false;
     gdouble strokewidth = 0;
@@ -1540,23 +1519,23 @@ NR::Point Inkscape::SelTrans::_calcAbsAffineDefault(NR::scale const default_scal
     }
 
     _absolute_affine = get_scale_transform_with_stroke (*_approximate_bbox, strokewidth, transform_stroke,
-                    new_bbox_min[NR::X], new_bbox_min[NR::Y], new_bbox_max[NR::X], new_bbox_max[NR::Y]);
+                    new_bbox_min[Geom::X], new_bbox_min[Geom::Y], new_bbox_max[Geom::X], new_bbox_max[Geom::Y]);
 
     // return the new handle position
     return ( _point - _origin ) * default_scale + _origin;
 }
 
 // Only for scaling/stretching
-NR::Point Inkscape::SelTrans::_calcAbsAffineGeom(NR::scale const geom_scale)
+Geom::Point Inkscape::SelTrans::_calcAbsAffineGeom(Geom::Scale const geom_scale)
 {
-    _relative_affine = NR::Matrix(geom_scale);
-    _absolute_affine = NR::translate(-_origin_for_specpoints) * _relative_affine * NR::translate(_origin_for_specpoints);
+    _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);
-    NR::Rect visual_bbox = get_visual_bbox(_geometric_bbox, _absolute_affine, _strokewidth, transform_stroke);
+    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() * NR::scale(_handle_x, _handle_y);
+    return visual_bbox.min() + visual_bbox.dimensions() * Geom::Scale(_handle_x, _handle_y);
 }
 
 
index 65da0fa56002c4527db141054625e9c2d499e767..64ced3dc5fa3e2521d38582ab1336e79df516938 100644 (file)
@@ -16,9 +16,9 @@
  */
 
 #include <sigc++/sigc++.h>
-#include <libnr/nr-point.h>
-#include <libnr/nr-matrix.h>
-#include <libnr/nr-rect.h>
+#include <2geom/point.h>
+#include <2geom/matrix.h>
+#include <2geom/rect.h>
 #include "knot.h"
 #include "forward.h"
 #include "selcue.h"
@@ -33,7 +33,7 @@ class SPSelTransHandle;
 namespace Inkscape
 {
 
-NR::scale calcScaleFactors(NR::Point const &initial_point, NR::Point const &new_point, NR::Point const &origin, bool const skew = false);
+Geom::Scale calcScaleFactors(Geom::Point const &initial_point, Geom::Point const &new_point, Geom::Point const &origin, bool const skew = false);
 
 namespace XML
 {
@@ -52,26 +52,26 @@ public:
 
     void increaseState();
     void resetState();
-    void setCenter(NR::Point const &p);
-    void grab(NR::Point const &p, gdouble x, gdouble y, bool show_handles);
-    void transform(NR::Matrix const &rel_affine, NR::Point const &norm);
+    void setCenter(Geom::Point const &p);
+    void grab(Geom::Point const &p, gdouble x, gdouble y, bool show_handles);
+    void transform(Geom::Matrix const &rel_affine, Geom::Point const &norm);
     void ungrab();
     void stamp();
-    void moveTo(NR::Point const &xy, guint state);
-    void stretch(SPSelTransHandle const &handle, NR::Point &pt, guint state);
-    void scale(NR::Point &pt, guint state);
-    void skew(SPSelTransHandle const &handle, NR::Point &pt, guint state);
-    void rotate(NR::Point &pt, guint state);
-    gboolean scaleRequest(NR::Point &pt, guint state);
-    gboolean stretchRequest(SPSelTransHandle const &handle, NR::Point &pt, guint state);
-    gboolean skewRequest(SPSelTransHandle const &handle, NR::Point &pt, guint state);
-    gboolean rotateRequest(NR::Point &pt, guint state);
-    gboolean centerRequest(NR::Point &pt, guint state);
-
-    gboolean handleRequest(SPKnot *knot, NR::Point *position, guint state, SPSelTransHandle const &handle);
+    void moveTo(Geom::Point const &xy, guint state);
+    void stretch(SPSelTransHandle const &handle, Geom::Point &pt, guint state);
+    void scale(Geom::Point &pt, guint state);
+    void skew(SPSelTransHandle const &handle, Geom::Point &pt, guint state);
+    void rotate(Geom::Point &pt, guint state);
+    gboolean scaleRequest(Geom::Point &pt, guint state);
+    gboolean stretchRequest(SPSelTransHandle const &handle, Geom::Point &pt, guint state);
+    gboolean skewRequest(SPSelTransHandle const &handle, Geom::Point &pt, guint state);
+    gboolean rotateRequest(Geom::Point &pt, guint state);
+    gboolean centerRequest(Geom::Point &pt, guint state);
+
+    gboolean handleRequest(SPKnot *knot, Geom::Point *position, guint state, SPSelTransHandle const &handle);
     void handleGrab(SPKnot *knot, guint state, SPSelTransHandle const &handle);
     void handleClick(SPKnot *knot, guint state, SPSelTransHandle const &handle);
-    void handleNewEvent(SPKnot *knot, NR::Point *position, guint state, SPSelTransHandle const &handle);
+    void handleNewEvent(SPKnot *knot, Geom::Point *position, guint state, SPSelTransHandle const &handle);
 
     enum Show
     {
@@ -99,9 +99,9 @@ private:
     void _selModified(Inkscape::Selection *selection, guint flags);
     void _showHandles(SPKnot *knot[], SPSelTransHandle const handle[], gint num,
                       gchar const *even_tip, gchar const *odd_tip);
-    NR::Point _getGeomHandlePos(NR::Point const &visual_handle_pos);
-    NR::Point _calcAbsAffineDefault(NR::scale const default_scale);
-    NR::Point _calcAbsAffineGeom(NR::scale const geom_scale);
+    Geom::Point _getGeomHandlePos(Geom::Point const &visual_handle_pos);
+    Geom::Point _calcAbsAffineDefault(Geom::Scale const default_scale);
+    Geom::Point _calcAbsAffineGeom(Geom::Scale const geom_scale);
 
     enum State {
         STATE_SCALE, //scale or stretch
@@ -112,8 +112,8 @@ private:
 
     std::vector<SPItem *> _items;
     std::vector<SPItem const *> _items_const;
-    std::vector<NR::Matrix> _items_affines;
-    std::vector<NR::Point> _items_centers;
+    std::vector<Geom::Matrix> _items_affines;
+    std::vector<Geom::Point> _items_centers;
     
     std::vector<Geom::Point> _snap_points;
     std::vector<Geom::Point> _bbox_points;
@@ -131,30 +131,30 @@ private:
 
     SPItem::BBoxType _snap_bbox_type;
     
-    boost::optional<NR::Rect> _bbox;
-    boost::optional<NR::Rect> _approximate_bbox;
-    boost::optional<NR::Rect> _geometric_bbox;
+    boost::optional<Geom::Rect> _bbox;
+    boost::optional<Geom::Rect> _approximate_bbox;
+    boost::optional<Geom::Rect> _geometric_bbox;
     gdouble _strokewidth;
     
-    NR::Matrix _current_relative_affine;
-    NR::Matrix _absolute_affine;
-    NR::Matrix _relative_affine;
+    Geom::Matrix _current_relative_affine;
+    Geom::Matrix _absolute_affine;
+    Geom::Matrix _relative_affine;
     /* According to Merriam - Webster's online dictionary
      * Affine: a transformation (as a translation, a rotation, or a uniform stretching) that carries straight
      * lines into straight lines and parallel lines into parallel lines but may alter distance between points
      * and angles between lines <affine geometry>
      */
     
-    NR::Point _opposite; ///< opposite point to where a scale is taking place    
-    NR::Point _opposite_for_specpoints;
-    NR::Point _opposite_for_bboxpoints;
-    NR::Point _origin_for_specpoints;
-    NR::Point _origin_for_bboxpoints;
+    Geom::Point _opposite; ///< opposite point to where a scale is taking place    
+    Geom::Point _opposite_for_specpoints;
+    Geom::Point _opposite_for_bboxpoints;
+    Geom::Point _origin_for_specpoints;
+    Geom::Point _origin_for_bboxpoints;
 
     gdouble _handle_x;
     gdouble _handle_y;
 
-    boost::optional<NR::Point> _center;
+    boost::optional<Geom::Point> _center;
     bool _center_is_set; ///< we've already set _center, no need to reread it from items
 
     SPKnot *_shandle[8];
@@ -167,9 +167,9 @@ private:
     guint _sel_modified_id;
     GSList *_stamp_cache;
 
-    NR::Point _origin; ///< position of origin for transforms
-    NR::Point _point; ///< original position of the knot being used for the current transform
-    NR::Point _point_geom; ///< original position of the knot being used for the current transform
+    Geom::Point _origin; ///< position of origin for transforms
+    Geom::Point _point; ///< original position of the knot being used for the current transform
+    Geom::Point _point_geom; ///< original position of the knot being used for the current transform
     Inkscape::MessageContext _message_context;
     sigc::connection _sel_changed_connection;
     sigc::connection _sel_modified_connection;
index 394bc7f912bb6ba5b2ea524481806b1eaceee763..202dd8e92a308687d001cd3bb4d76698d12a0789 100644 (file)
@@ -475,14 +475,15 @@ Inkscape::SnappedPoint SnapManager::_snapTransformed(
         
         /* Snap it */        
         Inkscape::SnappedPoint snapped_point;
+        Inkscape::Snapper::ConstraintLine dedicated_constraint = constraint;
+        Geom::Point const b = (*i - origin); // vector to original point
                 
-        if (constrained) {    
-            Inkscape::Snapper::ConstraintLine dedicated_constraint = constraint;
+        if (constrained) {                
             if ((transformation_type == SCALE || transformation_type == STRETCH) && uniform) {
                 // When uniformly scaling, each point will have its own unique constraint line,
                 // running from the scaling origin to the original untransformed point. We will
                 // calculate that line here 
-                dedicated_constraint = Inkscape::Snapper::ConstraintLine(origin, (*i) - origin);
+                dedicated_constraint = Inkscape::Snapper::ConstraintLine(origin, b);
             } else if (transformation_type == STRETCH) { // when non-uniform stretching {
                 dedicated_constraint = Inkscape::Snapper::ConstraintLine((*i), component_vectors[dim]);
             } else if (transformation_type == TRANSLATION) {
@@ -497,7 +498,17 @@ Inkscape::SnappedPoint SnapManager::_snapTransformed(
             }
             snapped_point = constrainedSnap(type, *j, dedicated_constraint, i == points.begin(), bbox);
         } else {
-            snapped_point = freeSnap(type, *j, i == points.begin(), bbox);
+            bool const c1 = fabs(b[Geom::X]) < 1e-6;
+            bool const c2 = fabs(b[Geom::Y]) < 1e-6;
+               if (transformation_type == SCALE && (c1 || c2) && !(c1 && c2)) {
+               // When scaling, a point aligned either horizontally or vertically with the origin can only
+                       // move in that specific direction; therefore it should only snap in that direction, otherwise
+                       // we will get snapped points with an invalid transformation 
+                       dedicated_constraint = Inkscape::Snapper::ConstraintLine(origin, component_vectors[c1]);
+               snapped_point = constrainedSnap(type, *j, dedicated_constraint, i == points.begin(), bbox);
+            } else {
+               snapped_point = freeSnap(type, *j, i == points.begin(), bbox);
+            }
         }
 
         Geom::Point result;
@@ -508,7 +519,7 @@ Inkscape::SnappedPoint SnapManager::_snapTransformed(
             ** ended up, and also the metric for this transformation.
             */
             Geom::Point const a = (snapped_point.getPoint() - origin); // vector to snapped point
-            Geom::Point const b = (*i - origin); // vector to original point
+            //Geom::Point const b = (*i - origin); // vector to original point
             
             switch (transformation_type) {
                 case TRANSLATION:
@@ -756,8 +767,15 @@ Inkscape::SnappedPoint SnapManager::constrainedSnapSkew(Inkscape::Snapper::Point
                                                  Geom::Point const &o,
                                                  Geom::Dim2 d) const
 {
-   // "s" contains skew factor in s[0], and scale factor in s[1]
-   return _snapTransformed(point_type, p, true, constraint, SKEW, s, o, d, false);
+       // "s" contains skew factor in s[0], and scale factor in s[1]
+       
+       // Snapping the nodes of the boundingbox of a selection that is being transformed, will only work if
+       // the transformation of the bounding box is equal to the transformation of the individual nodes. This is
+       // 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));
+       return _snapTransformed(point_type, p, true, constraint, SKEW, s, o, d, false);
 }
 
 Inkscape::SnappedPoint SnapManager::findBestSnap(Geom::Point const &p, SnappedConstraints &sc, bool constrained) const
@@ -845,7 +863,7 @@ Inkscape::SnappedPoint SnapManager::findBestSnap(Geom::Point const &p, SnappedCo
     // std::cout << "Finding the best snap..." << std::endl;
     for (std::list<Inkscape::SnappedPoint>::const_iterator i = sp_list.begin(); i != sp_list.end(); i++) {
         // first find out if this snapped point is within snapping range
-        // std::cout << "sp = " << from_2geom((*i).getPoint());
+       // std::cout << "sp = " << from_2geom((*i).getPoint());
         if ((*i).getDistance() <= (*i).getTolerance()) {
             // if it's the first point, or if it is closer than the best snapped point so far
             if (i == sp_list.begin() || bestSnappedPoint.isOtherOneBetter(*i)) { 
index a412694b3a712c84db67f3484089ea7ca3d5966b..06d025a14ffb4a8557e95aadbbba6e4c79a8bfb1 100644 (file)
@@ -26,6 +26,7 @@
 #include "sp-item.h"
 
 #include "libnr/nr-matrix-ops.h"
+#include <2geom/transforms.h>
 
 #include "sp-clippath.h"
 
@@ -204,7 +205,7 @@ sp_clippath_update(SPObject *object, SPCtx *ctx, guint flags)
     SPClipPath *cp = SP_CLIPPATH(object);
     for (SPClipPathView *v = cp->display; v != NULL; v = v->next) {
         if (cp->clipPathUnits == SP_CONTENT_UNITS_OBJECTBOUNDINGBOX) {
-            NR::Matrix t(NR::scale(v->bbox.x1 - v->bbox.x0, v->bbox.y1 - v->bbox.y0));
+            Geom::Matrix t(Geom::Scale(v->bbox.x1 - v->bbox.x0, v->bbox.y1 - v->bbox.y0));
             t[4] = v->bbox.x0;
             t[5] = v->bbox.y0;
             nr_arena_group_set_child_transform(NR_ARENA_GROUP(v->arenaitem), &t);
@@ -275,7 +276,7 @@ sp_clippath_show(SPClipPath *cp, NRArena *arena, unsigned int key)
     }
 
     if (cp->clipPathUnits == SP_CONTENT_UNITS_OBJECTBOUNDINGBOX) {
-        NR::Matrix t(NR::scale(cp->display->bbox.x1 - cp->display->bbox.x0, cp->display->bbox.y1 - cp->display->bbox.y0));
+        Geom::Matrix t(Geom::Scale(cp->display->bbox.x1 - cp->display->bbox.x0, cp->display->bbox.y1 - cp->display->bbox.y0));
         t[4] = cp->display->bbox.x0;
         t[5] = cp->display->bbox.y0;
         nr_arena_group_set_child_transform(NR_ARENA_GROUP(ai), &t);
index 0753e144138638af97d91c9b0095523e27919a44..14305c8a95ff92cd06b37b7877581d0a7e8c0cc8 100644 (file)
@@ -80,7 +80,7 @@ sp_conn_end_pair_build(SPObject *object)
 
 
 static void
-avoid_conn_move(NR::Matrix const */*mp*/, SPItem *moved_item)
+avoid_conn_move(Geom::Matrix const */*mp*/, SPItem *moved_item)
 {
     // Reroute connector
     SPPath *path = SP_PATH(moved_item);
@@ -167,7 +167,7 @@ SPConnEndPair::getEndpoints(NR::Point endPts[]) const {
 
     for (unsigned h = 0; h < 2; ++h) {
         if ( h2attItem[h] ) {
-            boost::optional<NR::Rect> bbox = h2attItem[h]->getBounds(sp_item_i2doc_affine(h2attItem[h]));
+            boost::optional<Geom::Rect> bbox = h2attItem[h]->getBounds(sp_item_i2doc_affine(h2attItem[h]));
             if (bbox) {
                 endPts[h] = bbox->midpoint();
             } else {
index f529d6d6276c2bc326ebe086a42ce7a25446b40c..c94e75f714cfa29c8fa8f70cc77189fe009c74bc 100644 (file)
@@ -11,8 +11,8 @@
 #include "document.h"
 
 
-static void change_endpts(SPCurve *const curve, NR::Point const h2endPt[2]);
-static NR::Point calc_bbox_conn_pt(NR::Rect const &bbox, NR::Point const &p);
+static void change_endpts(SPCurve *const curve, Geom::Point const h2endPt[2]);
+static Geom::Point calc_bbox_conn_pt(Geom::Rect const &bbox, Geom::Point const &p);
 static double signed_one(double const x);
 
 SPConnEnd::SPConnEnd(SPObject *const owner) :
@@ -36,7 +36,7 @@ get_nearest_common_ancestor(SPObject const *const obj, SPItem const *const objs[
 }
 
 static void
-sp_conn_end_move_compensate(NR::Matrix const */*mp*/, SPItem */*moved_item*/,
+sp_conn_end_move_compensate(Geom::Matrix const */*mp*/, SPItem */*moved_item*/,
                             SPPath *const path,
                             bool const updatePathRepr = true)
 {
@@ -60,19 +60,19 @@ sp_conn_end_move_compensate(NR::Matrix const */*mp*/, SPItem */*moved_item*/,
 
     SPItem const *const path_item = SP_ITEM(path);
     SPObject const *const ancestor = get_nearest_common_ancestor(path_item, h2attItem);
-    NR::Matrix const path2anc(i2anc_affine(path_item, ancestor));
+    Geom::Matrix const path2anc(i2anc_affine(path_item, ancestor));
 
     if (h2attItem[0] != NULL && h2attItem[1] != NULL) {
         /* Initial end-points: centre of attached object. */
-        NR::Point h2endPt_icoordsys[2];
-        NR::Matrix h2i2anc[2];
-        NR::Rect h2bbox_icoordsys[2];
-        NR::Point last_seg_endPt[2] = {
+        Geom::Point h2endPt_icoordsys[2];
+        Geom::Matrix h2i2anc[2];
+        Geom::Rect h2bbox_icoordsys[2];
+        Geom::Point last_seg_endPt[2] = {
             *(path->curve->second_point()),
             *(path->curve->penultimate_point())
         };
         for (unsigned h = 0; h < 2; ++h) {
-            boost::optional<NR::Rect> bbox = h2attItem[h]->getBounds(NR::identity());
+            boost::optional<Geom::Rect> bbox = h2attItem[h]->getBounds(Geom::identity());
             if (!bbox) {
                 if (updatePathRepr) {
                     path->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
@@ -87,7 +87,7 @@ sp_conn_end_move_compensate(NR::Matrix const */*mp*/, SPItem */*moved_item*/,
 
         // For each attached object, change the corresponding point to be
         // on the edge of the bbox.
-        NR::Point h2endPt_pcoordsys[2];
+        Geom::Point h2endPt_pcoordsys[2];
         for (unsigned h = 0; h < 2; ++h) {
             h2endPt_icoordsys[h] = calc_bbox_conn_pt(h2bbox_icoordsys[h],
                                          ( last_seg_endPt[h] * h2i2anc[h].inverse() ));
@@ -98,8 +98,8 @@ sp_conn_end_move_compensate(NR::Matrix const */*mp*/, SPItem */*moved_item*/,
         // We leave the unattached endpoint where it is, and adjust the
         // position of the attached endpoint to be on the edge of the bbox.
         unsigned ind;
-        NR::Point other_endpt;
-        NR::Point last_seg_pt;
+        Geom::Point other_endpt;
+        Geom::Point last_seg_pt;
         if (h2attItem[0] != NULL) {
             other_endpt = *(path->curve->last_point());
             last_seg_pt = *(path->curve->second_point());
@@ -110,12 +110,12 @@ sp_conn_end_move_compensate(NR::Matrix const */*mp*/, SPItem */*moved_item*/,
             last_seg_pt = *(path->curve->penultimate_point());
             ind = 1;
         }
-        NR::Point h2endPt_icoordsys[2];
-        NR::Matrix h2i2anc;
+        Geom::Point h2endPt_icoordsys[2];
+        Geom::Matrix h2i2anc;
 
-        NR::Rect otherpt_rect = NR::Rect(other_endpt, other_endpt);
-        NR::Rect h2bbox_icoordsys[2] = { otherpt_rect, otherpt_rect };
-        boost::optional<NR::Rect> bbox = h2attItem[ind]->getBounds(NR::identity());
+        Geom::Rect otherpt_rect = Geom::Rect(other_endpt, other_endpt);
+        Geom::Rect h2bbox_icoordsys[2] = { otherpt_rect, otherpt_rect };
+        boost::optional<Geom::Rect> bbox = h2attItem[ind]->getBounds(NR::identity());
         if (!bbox) {
             if (updatePathRepr) {
                 path->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
@@ -132,7 +132,7 @@ sp_conn_end_move_compensate(NR::Matrix const */*mp*/, SPItem */*moved_item*/,
 
         // For the attached object, change the corresponding point to be
         // on the edge of the bbox.
-        NR::Point h2endPt_pcoordsys[2];
+        Geom::Point h2endPt_pcoordsys[2];
         h2endPt_icoordsys[ind] = calc_bbox_conn_pt(h2bbox_icoordsys[ind],
                                                  ( last_seg_pt * h2i2anc.inverse() ));
         h2endPt_pcoordsys[ind] = h2endPt_icoordsys[ind] * h2i2anc * path2anc.inverse();
@@ -151,7 +151,7 @@ sp_conn_end_move_compensate(NR::Matrix const */*mp*/, SPItem */*moved_item*/,
 // TODO: This triggering of makeInvalidPath could be cleaned up to be
 //       another option passed to move_compensate.
 static void
-sp_conn_end_shape_move_compensate(NR::Matrix const *mp, SPItem *moved_item,
+sp_conn_end_shape_move_compensate(Geom::Matrix const *mp, SPItem *moved_item,
                             SPPath *const path)
 {
     if (path->connEndPair.isAutoRoutingConn()) {
@@ -180,25 +180,25 @@ sp_conn_adjust_path(SPPath *const path)
     sp_conn_end_move_compensate(NULL, NULL, path, updatePathRepr);
 }
 
-static NR::Point
-calc_bbox_conn_pt(NR::Rect const &bbox, NR::Point const &p)
+static Geom::Point
+calc_bbox_conn_pt(Geom::Rect const &bbox, Geom::Point const &p)
 {
-    using NR::X;
-    using NR::Y;
-    NR::Point const ctr(bbox.midpoint());
-    NR::Point const lengths(bbox.dimensions());
+    using Geom::X;
+    using Geom::Y;
+    Geom::Point const ctr(bbox.midpoint());
+    Geom::Point const lengths(bbox.dimensions());
     if ( ctr == p ) {
        /* Arbitrarily choose centre of right edge. */
-       return NR::Point(ctr[X] + .5 * lengths[X],
+       return Geom::Point(ctr[X] + .5 * lengths[X],
                         ctr[Y]);
     }
-    NR::Point const cp( p - ctr );
-    NR::Dim2 const edgeDim = ( ( fabs(lengths[Y] * cp[X]) <
+    Geom::Point const cp( p - ctr );
+    Geom::Dim2 const edgeDim = ( ( fabs(lengths[Y] * cp[X]) <
                                 fabs(lengths[X] * cp[Y])  )
                               ? Y
                               : X );
-    NR::Dim2 const otherDim = (NR::Dim2) !edgeDim;
-    NR::Point offset;
+    Geom::Dim2 const otherDim = (Geom::Dim2) !edgeDim;
+    Geom::Point offset;
     offset[edgeDim] = (signed_one(cp[edgeDim])
                       * lengths[edgeDim]);
     offset[otherDim] = (lengths[edgeDim]
@@ -221,7 +221,7 @@ static double signed_one(double const x)
 }
 
 static void
-change_endpts(SPCurve *const curve, NR::Point const h2endPt[2])
+change_endpts(SPCurve *const curve, Geom::Point const h2endPt[2])
 {
 #if 0
     curve->reset();
index ec60251fc4d69a33610eb839a4c268e8ed5e4f84..dcaa59ea02d70585d56966a1bae1869bf6f5bc85 100644 (file)
@@ -352,11 +352,11 @@ sp_flowtext_print(SPItem *item, SPPrintContext *ctx)
     NRRect pbox;
     sp_item_invoke_bbox(item, &pbox, Geom::identity(), TRUE);
     NRRect bbox;
-    boost::optional<NR::Rect> bbox_maybe = sp_item_bbox_desktop(item);
+    boost::optional<Geom::Rect> bbox_maybe = sp_item_bbox_desktop(item);
     if (!bbox_maybe) {
         return;
     }
-    bbox = NRRect(*bbox_maybe);
+    bbox = NRRect(from_2geom(*bbox_maybe));
 
     NRRect dbox;
     dbox.x0 = 0.0;
index b8645155ee4de2d73c4719572f196bcf6d34524a..b41ac5b9b57f8bea3cba1afe5120a714009194cf 100644 (file)
@@ -8,7 +8,7 @@
 #include "sp-gradient.h"
 #include "svg/svg.h"
 #include "xml/repr.h"
-
+#include <2geom/transforms.h>
 
 class SPGradientTest : public DocumentUsingTest
 {
@@ -56,7 +56,7 @@ public:
         SP_OBJECT(gr)->document = _doc;
 
         sp_object_set(SP_OBJECT(gr), SP_ATTR_GRADIENTTRANSFORM, "translate(5, 8)");
-        TS_ASSERT_EQUALS( gr->gradientTransform, NR::Matrix(NR::translate(5, 8)) );
+        TS_ASSERT_EQUALS( gr->gradientTransform, NR::Matrix(Geom::Translate(5, 8)) );
 
         sp_object_set(SP_OBJECT(gr), SP_ATTR_GRADIENTTRANSFORM, "");
         TS_ASSERT_EQUALS( gr->gradientTransform, NR::identity() );
index 1fe0d221837195a6e7ccbcb661545c77e9b3078c..3383de8c8aaf201307d111686d1ea5eefca93bbe 100644 (file)
@@ -24,8 +24,7 @@
 #include <libnr/nr-matrix-fns.h>
 #include <libnr/nr-matrix-ops.h>
 #include <libnr/nr-matrix-scale-ops.h>
-#include <libnr/nr-matrix-translate-ops.h>
-#include "libnr/nr-scale-translate-ops.h"
+#include <2geom/transforms.h>
 
 #include <sigc++/functors/ptr_fun.h>
 #include <sigc++/adaptors/bind.h>
@@ -1253,9 +1252,9 @@ NR::Matrix
 sp_gradient_get_g2d_matrix(SPGradient const *gr, NR::Matrix const &ctm, NR::Rect const &bbox)
 {
     if (gr->units == SP_GRADIENT_UNITS_OBJECTBOUNDINGBOX) {
-        return ( NR::scale(bbox.dimensions())
-                 * NR::translate(bbox.min())
-                 * ctm );
+        return ( Geom::Scale(bbox.dimensions())
+                 * Geom::Translate(bbox.min())
+                 * Geom::Matrix(ctm) );
     } else {
         return ctm;
     }
@@ -1266,9 +1265,9 @@ sp_gradient_get_gs2d_matrix(SPGradient const *gr, NR::Matrix const &ctm, NR::Rec
 {
     if (gr->units == SP_GRADIENT_UNITS_OBJECTBOUNDINGBOX) {
         return ( gr->gradientTransform
-                 * NR::scale(bbox.dimensions())
-                 * NR::translate(bbox.min())
-                 * ctm );
+                 * Geom::Scale(bbox.dimensions())
+                 * Geom::Translate(bbox.min())
+                 * Geom::Matrix(ctm) );
     } else {
         return gr->gradientTransform * ctm;
     }
@@ -1281,8 +1280,8 @@ sp_gradient_set_gs2d_matrix(SPGradient *gr, NR::Matrix const &ctm,
     gr->gradientTransform = gs2d * ctm.inverse();
     if (gr->units == SP_GRADIENT_UNITS_OBJECTBOUNDINGBOX ) {
         gr->gradientTransform = ( gr->gradientTransform
-                                  / NR::translate(bbox.min())
-                                  / NR::scale(bbox.dimensions()) );
+                                  * Geom::Translate(-bbox.min())
+                                  * Geom::Scale(bbox.dimensions()).inverse() );
     }
     gr->gradientTransform_set = TRUE;
 
index a3112bd03f5d0a0c1c44565423816725668e064c..57f8804d9b3b287be279177670a11a89b17e1e31 100644 (file)
@@ -76,7 +76,7 @@ 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 NRArenaItem *sp_image_show (SPItem *item, NRArena *arena, unsigned int key, unsigned int flags);
-static NR::Matrix sp_image_set_transform (SPItem *item, NR::Matrix const &xform);
+static Geom::Matrix sp_image_set_transform (SPItem *item, Geom::Matrix const &xform);
 static void sp_image_set_curve(SPImage *image);
 
 
@@ -1327,41 +1327,41 @@ static void sp_image_snappoints(SPItem const *item, SnapPointsIter p)
  * Transform x, y, set x, y, clear translation
  */
 
-static NR::Matrix
-sp_image_set_transform(SPItem *item, NR::Matrix const &xform)
+static Geom::Matrix
+sp_image_set_transform(SPItem *item, Geom::Matrix const &xform)
 {
        SPImage *image = SP_IMAGE(item);
 
        /* Calculate position in parent coords. */
-       NR::Point pos( NR::Point(image->x.computed, image->y.computed) * xform );
+       Geom::Point pos( Geom::Point(image->x.computed, image->y.computed) * xform );
 
        /* This function takes care of translation and scaling, we return whatever parts we can't
           handle. */
-       NR::Matrix ret(NR::transform(xform));
-       NR::Point const scale(hypot(ret[0], ret[1]),
+       Geom::Matrix ret(Geom::Matrix(xform).without_translation());
+       Geom::Point const scale(hypot(ret[0], ret[1]),
                              hypot(ret[2], ret[3]));
        if ( scale[NR::X] > 1e-9 ) {
-               ret[0] /= scale[NR::X];
-               ret[1] /= scale[NR::X];
+               ret[0] /= scale[Geom::X];
+               ret[1] /= scale[Geom::X];
        } else {
                ret[0] = 1.0;
                ret[1] = 0.0;
        }
        if ( scale[NR::Y] > 1e-9 ) {
-               ret[2] /= scale[NR::Y];
-               ret[3] /= scale[NR::Y];
+               ret[2] /= scale[Geom::Y];
+               ret[3] /= scale[Geom::Y];
        } else {
                ret[2] = 0.0;
                ret[3] = 1.0;
        }
 
-       image->width = image->width.computed * scale[NR::X];
-       image->height = image->height.computed * scale[NR::Y];
+       image->width = image->width.computed * scale[Geom::X];
+       image->height = image->height.computed * scale[Geom::Y];
 
        /* Find position in item coords */
        pos = pos * ret.inverse();
-       image->x = pos[NR::X];
-       image->y = pos[NR::Y];
+       image->x = pos[Geom::X];
+       image->y = pos[Geom::Y];
 
        item->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
 
index 123fe73304c110c4ad1e8cab53809ec94d64f5d9..45410960ce82978345526511305a401cab410601 100644 (file)
@@ -66,7 +66,7 @@ static void sp_group_set(SPObject *object, unsigned key, char const *value);
 static void sp_group_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const flags);
 static void sp_group_print (SPItem * item, SPPrintContext *ctx);
 static gchar * sp_group_description (SPItem * item);
-static NR::Matrix sp_group_set_transform(SPItem *item, NR::Matrix const &xform);
+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);
@@ -290,15 +290,15 @@ static gchar * sp_group_description (SPItem * item)
     return SP_GROUP(item)->group->getDescription();
 }
 
-static NR::Matrix
-sp_group_set_transform(SPItem *item, NR::Matrix const &xform)
+static Geom::Matrix
+sp_group_set_transform(SPItem *item, Geom::Matrix const &xform)
 {
     Inkscape::Selection *selection = sp_desktop_selection(inkscape_active_desktop());
     persp3d_split_perspectives_according_to_selection(selection);
 
-    NR::Matrix last_trans;
+    Geom::Matrix last_trans;
     sp_svg_transform_read(SP_OBJECT_REPR(item)->attribute("transform"), &last_trans);
-    NR::Matrix inc_trans = last_trans.inverse()*xform;
+    Geom::Matrix inc_trans = last_trans.inverse()*xform;
 
     std::list<Persp3D *> plist = selection->perspList();
     for (std::list<Persp3D *>::iterator i = plist.begin(); i != plist.end(); ++i) {
@@ -702,7 +702,7 @@ void CGroup::onModified(guint flags) {
 
 void CGroup::calculateBBox(NRRect *bbox, Geom::Matrix const &transform, unsigned const flags) {
 
-    boost::optional<NR::Rect> dummy_bbox;
+    boost::optional<Geom::Rect> dummy_bbox;
 
     GSList *l = _group->childList(false, SPObject::ActionBBox);
     while (l) {
@@ -837,7 +837,9 @@ sp_group_update_patheffect (SPLPEItem *lpeitem, bool write)
         for (PathEffectList::iterator it = lpeitem->path_effect_list->begin(); it != lpeitem->path_effect_list->end(); it++)
         {
             LivePathEffectObject *lpeobj = (*it)->lpeobject;
-            lpeobj->lpe->doBeforeEffect(lpeitem);
+            if (lpeobj->get_lpe()) {
+                lpeobj->get_lpe()->doBeforeEffect(lpeitem);
+            }
         }
         
         sp_group_perform_patheffect(SP_GROUP(lpeitem), SP_GROUP(lpeitem));
index 391766fb6ff679c2db1829e71f949234a7fcd7db..a51674c3ac267aff47ef113a25f278a5a1b7d0d3 100644 (file)
@@ -3,7 +3,7 @@
  */
 
 #include <sp-item.h>
-#include <libnr/nr-matrix-translate-ops.h>
+#include <2geom/transforms.h>
 #include <sp-guide.h>
 #include <sp-item-rm-unsatisfied-cns.h>
 using std::vector;
@@ -20,11 +20,11 @@ void sp_item_notify_moveto(SPItem &item, SPGuide const &mv_g, int const snappoin
 {
     g_return_if_fail(SP_IS_ITEM(&item));
     g_return_if_fail( unsigned(snappoint_ix) < 8 );
-    NR::Point const dir( mv_g.normal_to_line );
+    Geom::Point const dir( mv_g.normal_to_line );
     double const dir_lensq(dot(dir, dir));
     g_return_if_fail( dir_lensq != 0 );
 
-    std::vector<NR::Point> snappoints;
+    std::vector<Geom::Point> snappoints;
     sp_item_snappoints(&item, true, SnapPointsIter(snappoints));
     g_return_if_fail( snappoint_ix < int(snappoints.size()) );
 
@@ -39,7 +39,7 @@ void sp_item_notify_moveto(SPItem &item, SPGuide const &mv_g, int const snappoin
        pos0 + s * dot(dir, dir) = position.
        s * lensq(dir) = position - pos0.
        s = (position - pos0) / dot(dir, dir). */
-    NR::translate const tr( ( position - pos0 )
+    Geom::Translate const tr( ( position - pos0 )
                             * ( dir / dir_lensq ) );
     sp_item_set_i2d_affine(&item, sp_item_i2d_affine(&item) * tr);
     /// \todo Reget snappoints, check satisfied.
index f3e231ddc770a3750d3dbaba26ad82d808c4a687..d10e1d5435b1c274bddf0239dea449c2d2adf2b4 100644 (file)
@@ -14,7 +14,7 @@ void sp_item_rm_unsatisfied_cns(SPItem &item)
     if (item.constraints.empty()) {
         return;
     }
-    std::vector<NR::Point> snappoints;
+    std::vector<Geom::Point> snappoints;
     sp_item_snappoints(&item, true, SnapPointsIter(snappoints));
     for (unsigned i = item.constraints.size(); i--;) {
         g_assert( i < item.constraints.size() );
index 0d9118ac9af194c24037b55dd0dd462b8e1a6da5..3b0b1e054d7dc4109632374ab7ce762272bf0600 100644 (file)
@@ -7,24 +7,16 @@
  *   Lauris Kaplinski <lauris@kaplinski.com>
  *   Frank Felfe <innerspace@iname.com>
  *   bulia byak <buliabyak@gmail.com>
+ *   Johan Engelen <goejendaagh@zonnet.nl>
  *
- * Copyright (C) 1999-2005 authors
+ * Copyright (C) 1999-2008 authors
  *
  * Released under GNU GPL, read the file 'COPYING' for more information
  */
 
-#include <libnr/nr-matrix-ops.h>
-#include "libnr/nr-matrix-rotate-ops.h"
-#include "libnr/nr-matrix-scale-ops.h"
-#include "libnr/nr-matrix-translate-ops.h"
+#include <2geom/transforms.h>
 #include "sp-item.h"
 
-static NR::translate inverse(NR::translate const m)
-{
-       /* TODO: Move this to nr-matrix-fns.h or the like. */
-       return NR::translate(-m[0], -m[1]);
-}
-
 void
 sp_item_rotate_rel(SPItem *item, Geom::Rotate const &rotation)
 {
@@ -46,7 +38,7 @@ sp_item_rotate_rel(SPItem *item, Geom::Rotate const &rotation)
 void
 sp_item_scale_rel (SPItem *item, Geom::Scale const &scale)
 {
-    boost::optional<NR::Rect> bbox = sp_item_bbox_desktop(item);
+    boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop(item);
     if (bbox) {
         Geom::Translate const s(bbox->midpoint()); // use getCenter?
         sp_item_set_i2d_affine(item, sp_item_i2d_affine(item) * s.inverse() * scale * s);
@@ -86,29 +78,29 @@ preference value passed to it. Has to solve a quadratic equation to make sure
 the goal is met exactly and the stroke scaling is obeyed.
 */
 
-NR::Matrix
-get_scale_transform_with_stroke (NR::Rect &bbox_param, gdouble strokewidth, bool transform_stroke, gdouble x0, gdouble y0, gdouble x1, gdouble y1)
+Geom::Matrix
+get_scale_transform_with_stroke (Geom::Rect const &bbox_param, gdouble strokewidth, bool transform_stroke, gdouble x0, gdouble y0, gdouble x1, gdouble y1)
 {
-    NR::Rect bbox (bbox_param);
+    Geom::Rect bbox (bbox_param);
 
-    NR::Matrix p2o = NR::Matrix (NR::translate (-bbox.min()));
-    NR::Matrix o2n = NR::Matrix (NR::translate (x0, y0));
+    Geom::Matrix p2o = Geom::Translate (-bbox.min());
+    Geom::Matrix o2n = Geom::Translate (x0, y0);
 
-    NR::Matrix scale = NR::Matrix (NR::scale (1, 1)); // scale component
-    NR::Matrix unbudge = NR::Matrix (NR::translate (0, 0)); // move component to compensate for the drift caused by stroke width change
+    Geom::Matrix scale = Geom::Scale (1, 1); // scale component
+    Geom::Matrix unbudge = Geom::Translate (0, 0); // move component to compensate for the drift caused by stroke width change
 
-    gdouble w0 = bbox.extent(NR::X); // will return a value >= 0, as required further down the road
-    gdouble h0 = bbox.extent(NR::Y);
+    gdouble w0 = bbox[Geom::X].extent(); // will return a value >= 0, as required further down the road
+    gdouble h0 = bbox[Geom::Y].extent();
     gdouble w1 = x1 - x0; // can have any sign
     gdouble h1 = y1 - y0;
     gdouble r0 = strokewidth;
 
     if (bbox.isEmpty()) {
-        NR::Matrix move = NR::Matrix(NR::translate(x0 - bbox.min()[NR::X], y0 - bbox.min()[NR::Y]));
+        Geom::Matrix move = Geom::Translate(x0 - bbox.min()[Geom::X], y0 - bbox.min()[Geom::Y]);
         return (move); // cannot scale from empty boxes at all, so only translate
     }
 
-    NR::Matrix direct = NR::Matrix (NR::scale(w1 / w0,   h1 / h0));
+    Geom::Matrix direct = Geom::Scale(w1 / w0,   h1 / h0);
 
     if (fabs(w0 - r0) < 1e-6 || fabs(h0 - r0) < 1e-6 || (!transform_stroke && (fabs(w1 - r0) < 1e-6 || fabs(h1 - r0) < 1e-6))) {
         return (p2o * direct * o2n); // can't solve the equation: one of the dimensions is equal to stroke width, so return the straightforward scaler
@@ -127,7 +119,7 @@ get_scale_transform_with_stroke (NR::Rect &bbox_param, gdouble strokewidth, bool
     gdouble ratio_x = (w1 - r0) / (w0 - r0);
     gdouble ratio_y = (h1 - r0) / (h0 - r0);
     
-    NR::Matrix direct_constant_r = NR::Matrix (NR::scale(flip_x * ratio_x, flip_y * ratio_y));
+    Geom::Matrix direct_constant_r = Geom::Scale(flip_x * ratio_x, flip_y * ratio_y);
 
     if (transform_stroke && r0 != 0 && r0 != NR_HUGE) { // there's stroke, and we need to scale it
         // These coefficients are obtained from the assumption that scaling applies to the
@@ -148,8 +140,8 @@ get_scale_transform_with_stroke (NR::Rect &bbox_param, gdouble strokewidth, bool
             // Here we also need the absolute values of w0, w1, h0, h1, and r1
             gdouble scale_x = (w1 - r1)/(w0 - r0);
             gdouble scale_y = (h1 - r1)/(h0 - r0);
-            scale *= NR::scale(flip_x * scale_x, flip_y * scale_y);
-            unbudge *= NR::translate (-flip_x * 0.5 * (r0 * scale_x - r1), -flip_y * 0.5 * (r0 * scale_y - r1));
+            scale *= Geom::Scale(flip_x * scale_x, flip_y * scale_y);
+            unbudge *= Geom::Translate (-flip_x * 0.5 * (r0 * scale_x - r1), -flip_y * 0.5 * (r0 * scale_y - r1));
         } else {
             scale *= direct;
         }
@@ -158,15 +150,15 @@ get_scale_transform_with_stroke (NR::Rect &bbox_param, gdouble strokewidth, bool
             scale *= direct;
         } else {// nonscaling strokewidth
             scale *= direct_constant_r;
-            unbudge *= NR::translate (flip_x * 0.5 * r0 * (1 - ratio_x), flip_y * 0.5 * r0 * (1 - ratio_y));
+            unbudge *= Geom::Translate (flip_x * 0.5 * r0 * (1 - ratio_x), flip_y * 0.5 * r0 * (1 - ratio_y));
         }
     }
 
     return (p2o * scale * unbudge * o2n);
 }
 
-NR::Rect
-get_visual_bbox (boost::optional<NR::Rect> const &initial_geom_bbox, NR::Matrix const &abs_affine, gdouble const initial_strokewidth, bool const transform_stroke)
+Geom::Rect
+get_visual_bbox (boost::optional<Geom::Rect> const &initial_geom_bbox, Geom::Matrix const &abs_affine, gdouble const initial_strokewidth, bool const transform_stroke)
 {
     
     g_assert(initial_geom_bbox);
@@ -174,23 +166,23 @@ get_visual_bbox (boost::optional<NR::Rect> const &initial_geom_bbox, NR::Matrix
     // Find the new geometric bounding box; Do this by transforming each corner of
     // the initial geometric bounding box individually and fitting a new boundingbox
     // around the transformerd corners  
-    NR::Point const p0 = initial_geom_bbox->corner(0) * abs_affine;    
-    NR::Rect new_geom_bbox = NR::Rect(p0, p0);
+    Geom::Point const p0 = Geom::Point(initial_geom_bbox->corner(0)) * abs_affine;    
+    Geom::Rect new_geom_bbox(p0, p0);
     for (unsigned i = 1 ; i < 4 ; i++) {
-        new_geom_bbox.expandTo(initial_geom_bbox->corner(i) * abs_affine);
+        new_geom_bbox.expandTo(Geom::Point(initial_geom_bbox->corner(i)) * abs_affine);
     }
 
-    NR::Rect new_visual_bbox = new_geom_bbox; 
+    Geom::Rect new_visual_bbox = new_geom_bbox; 
     if (initial_strokewidth > 0 && initial_strokewidth < NR_HUGE) {
         if (transform_stroke) {
             // scale stroke by: sqrt (((w1-r0)/(w0-r0))*((h1-r0)/(h0-r0))) (for visual bboxes, see get_scale_transform_with_stroke)
             // equals scaling by: sqrt ((w1/w0)*(h1/h0)) for geometrical bboxes            
             // equals scaling by: sqrt (area1/area0) for geometrical bboxes
             gdouble const new_strokewidth = initial_strokewidth * sqrt (new_geom_bbox.area() / initial_geom_bbox->area());
-            new_visual_bbox.growBy(0.5 * new_strokewidth);        
+            new_visual_bbox.expandBy(0.5 * new_strokewidth);        
         } else {
             // Do not transform the stroke
-            new_visual_bbox.growBy(0.5 * initial_strokewidth);   
+            new_visual_bbox.expandBy(0.5 * initial_strokewidth);   
         }
     }
     
index 8ce21fb327535dc4784842be0c0591c12a1b15c9..884732abe3f9b5f2a6c9a877606cb7d67e80abb8 100644 (file)
@@ -9,8 +9,8 @@ void sp_item_scale_rel (SPItem *item, Geom::Scale const &scale);
 void sp_item_skew_rel (SPItem *item, double skewX, double skewY);
 void sp_item_move_rel(SPItem *item, Geom::Translate const &tr);
 
-NR::Matrix get_scale_transform_with_stroke (NR::Rect &bbox, gdouble strokewidth, bool transform_stroke, gdouble x0, gdouble y0, gdouble x1, gdouble y1);
-NR::Rect get_visual_bbox (boost::optional<NR::Rect> const &initial_geom_bbox, NR::Matrix const &abs_affine, gdouble const initial_strokewidth, bool const transform_stroke);
+Geom::Matrix get_scale_transform_with_stroke (Geom::Rect const &bbox, gdouble strokewidth, bool transform_stroke, gdouble x0, gdouble y0, gdouble x1, gdouble y1);
+Geom::Rect get_visual_bbox (boost::optional<Geom::Rect> const &initial_geom_bbox, Geom::Matrix const &abs_affine, gdouble const initial_strokewidth, bool const transform_stroke);
 
 
 #endif /* !SP_ITEM_TRANSFORM_H */
index 82ff0c458675d5e55790cb05e18645d1c03cb191..55846f4b76a431c6788c1d47c4a7db0704de9a00 100644 (file)
@@ -9,7 +9,7 @@ using std::vector;
 
 void sp_item_update_cns(SPItem &item, SPDesktop const &desktop)
 {
-    std::vector<NR::Point> snappoints;
+    std::vector<Geom::Point> snappoints;
     sp_item_snappoints(&item, true, SnapPointsIter(snappoints));
     /* TODO: Implement the ordering. */
     vector<SPGuideConstraint> found_cns;
index 74bb1f8cdc72a1f005ef51dde47b685e7dd2860c..4cb6a60b69f4e6e52d8d9aa7ac12bac5066d09f7 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef __SP_ITEM_UPDATE_CNS_H__
 #define __SP_ITEM_UPDATE_CNS_H__
 #include <forward.h>
+#include <2geom/forward.h>
 
 void sp_item_update_cns(SPItem &item, SPDesktop const &desktop);
 
index b412353e14c144f97c851cc8d0f78935cd3eda7b..c993a6163a9ca6ba44e744f0d0a5fa6323f8e3ac 100644 (file)
 #include "algorithms/find-last-if.h"
 #include "util/reverse-list.h"
 #include <2geom/rect.h>
+#include <2geom/matrix.h>
 #include <2geom/transforms.h>
 
 #include "xml/repr.h"
 #include "extract-uri.h"
+#include "helper/geom.h"
 
 #include "live_effects/lpeobject.h"
 #include "live_effects/effect.h"
@@ -159,7 +161,7 @@ void SPItem::init() {
     this->_is_evaluated = true;
     this->_evaluated_status = StatusUnknown;
 
-    this->transform = NR::identity();
+    this->transform = Geom::identity();
 
     this->display = NULL;
 
@@ -175,7 +177,7 @@ void SPItem::init() {
 
     this->avoidRef = new SPAvoidRef(this);
 
-    new (&this->_transformed_signal) sigc::signal<void, NR::Matrix const *, SPItem *>();
+    new (&this->_transformed_signal) sigc::signal<void, Geom::Matrix const *, SPItem *>();
 }
 
 bool SPItem::isVisibleAndUnlocked() const {
@@ -288,13 +290,13 @@ SPItem::setExplicitlyHidden(bool const val) {
  * Sets the transform_center_x and transform_center_y properties to retain the rotation centre
  */
 void
-SPItem::setCenter(NR::Point object_centre) {
-    boost::optional<NR::Rect> bbox = getBounds(sp_item_i2d_affine(this));
+SPItem::setCenter(Geom::Point object_centre) {
+    boost::optional<Geom::Rect> bbox = getBounds(sp_item_i2d_affine(this));
     if (bbox) {
-        transform_center_x = object_centre[NR::X] - bbox->midpoint()[NR::X];
+        transform_center_x = object_centre[Geom::X] - bbox->midpoint()[Geom::X];
         if (fabs(transform_center_x) < 1e-5) // rounding error
             transform_center_x = 0;
-        transform_center_y = object_centre[NR::Y] - bbox->midpoint()[NR::Y];
+        transform_center_y = object_centre[Geom::Y] - bbox->midpoint()[Geom::Y];
         if (fabs(transform_center_y) < 1e-5) // rounding error
             transform_center_y = 0;
     }
@@ -311,7 +313,7 @@ bool SPItem::isCenterSet() {
 }
 
 Geom::Point SPItem::getCenter() const {
-    boost::optional<NR::Rect> bbox = getBounds(sp_item_i2d_affine(this));
+    boost::optional<Geom::Rect> bbox = getBounds(sp_item_i2d_affine(this));
     if (bbox) {
         return to_2geom(bbox->midpoint()) + Geom::Point (this->transform_center_x, this->transform_center_y);
     } else {
@@ -455,11 +457,11 @@ sp_item_set(SPObject *object, unsigned key, gchar const *value)
 
     switch (key) {
         case SP_ATTR_TRANSFORM: {
-            NR::Matrix t;
+            Geom::Matrix t;
             if (value && sp_svg_transform_read(value, &t)) {
                 sp_item_set_item_transform(item, t);
             } else {
-                sp_item_set_item_transform(item, NR::identity());
+                sp_item_set_item_transform(item, Geom::identity());
             }
             break;
         }
@@ -553,7 +555,7 @@ clip_ref_changed(SPObject *old_clip, SPObject *clip, SPItem *item)
     }
     if (SP_IS_CLIPPATH(clip)) {
         NRRect bbox;
-        sp_item_invoke_bbox(item, &bbox, NR::identity(), TRUE);
+        sp_item_invoke_bbox(item, &bbox, Geom::identity(), TRUE);
         for (SPItemView *v = item->display; v != NULL; v = v->next) {
             if (!v->arenaitem->key) {
                 NR_ARENA_ITEM_SET_KEY(v->arenaitem, sp_item_display_key_new(3));
@@ -581,7 +583,7 @@ mask_ref_changed(SPObject *old_mask, SPObject *mask, SPItem *item)
     }
     if (SP_IS_MASK(mask)) {
         NRRect bbox;
-        sp_item_invoke_bbox(item, &bbox, NR::identity(), TRUE);
+        sp_item_invoke_bbox(item, &bbox, Geom::identity(), TRUE);
         for (SPItemView *v = item->display; v != NULL; v = v->next) {
             if (!v->arenaitem->key) {
                 NR_ARENA_ITEM_SET_KEY(v->arenaitem, sp_item_display_key_new(3));
@@ -617,7 +619,7 @@ sp_item_update(SPObject *object, SPCtx *ctx, guint flags)
 
         if ( clip_path || mask ) {
             NRRect bbox;
-            sp_item_invoke_bbox(item, &bbox, NR::identity(), TRUE);
+            sp_item_invoke_bbox(item, &bbox, Geom::identity(), TRUE);
             if (clip_path) {
                 for (SPItemView *v = item->display; v != NULL; v = v->next) {
                     sp_clippath_set_bbox(clip_path, NR_ARENA_ITEM_GET_KEY(v->arenaitem), &bbox);
@@ -641,8 +643,8 @@ sp_item_update(SPObject *object, SPCtx *ctx, guint flags)
     /* Update bounding box data used by filters */
     if (item->style->filter.set && item->display) {
         NRRect item_bbox;
-        sp_item_invoke_bbox(item, &item_bbox, NR::identity(), TRUE, SPItem::GEOMETRIC_BBOX);
-        boost::optional<NR::Rect> i_bbox = item_bbox;
+        sp_item_invoke_bbox(item, &item_bbox, Geom::identity(), TRUE, SPItem::GEOMETRIC_BBOX);
+        boost::optional<Geom::Rect> i_bbox = item_bbox;
 
         SPItemView *itemview = item->display;
         do {
@@ -719,24 +721,24 @@ sp_item_write(SPObject *const object, Inkscape::XML::Document *xml_doc, Inkscape
     return repr;
 }
 
-boost::optional<NR::Rect> SPItem::getBounds(NR::Matrix const &transform,
+boost::optional<Geom::Rect> SPItem::getBounds(Geom::Matrix const &transform,
                                       SPItem::BBoxType type,
                                       unsigned int /*dkey*/) const
 {
-    boost::optional<NR::Rect> r;
+    boost::optional<Geom::Rect> r;
     sp_item_invoke_bbox_full(this, r, transform, type, TRUE);
     return r;
 }
 
 void
-sp_item_invoke_bbox(SPItem const *item, boost::optional<NR::Rect> &bbox, NR::Matrix const &transform, unsigned const clear, SPItem::BBoxType type)
+sp_item_invoke_bbox(SPItem const *item, boost::optional<Geom::Rect> &bbox, Geom::Matrix const &transform, unsigned const clear, SPItem::BBoxType type)
 {
     sp_item_invoke_bbox_full(item, bbox, transform, type, clear);
 }
 
-// DEPRECATED to phase out the use of NRRect in favor of boost::optional<NR::Rect>
+// DEPRECATED to phase out the use of NRRect in favor of boost::optional<Geom::Rect>
 void
-sp_item_invoke_bbox(SPItem const *item, NRRect *bbox, NR::Matrix const &transform, unsigned const clear, SPItem::BBoxType type)
+sp_item_invoke_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const clear, SPItem::BBoxType type)
 {
     sp_item_invoke_bbox_full(item, bbox, transform, type, clear);
 }
@@ -746,16 +748,16 @@ sp_item_invoke_bbox(SPItem const *item, NRRect *bbox, NR::Matrix const &transfor
  * 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. */
 void
-sp_item_invoke_bbox_full(SPItem const *item, boost::optional<NR::Rect> &bbox, NR::Matrix const &transform, unsigned const flags, unsigned const clear)
+sp_item_invoke_bbox_full(SPItem const *item, boost::optional<Geom::Rect> &bbox, Geom::Matrix const &transform, unsigned const flags, unsigned const clear)
 {
     g_assert(item != NULL);
     g_assert(SP_IS_ITEM(item));
 
     if (clear) {
-        bbox = boost::optional<NR::Rect>();
+        bbox = boost::optional<Geom::Rect>();
     }
 
-    // TODO: replace NRRect by NR::Rect, for all SPItemClasses, and for SP_CLIPPATH
+    // TODO: replace NRRect by Geom::Rect, for all SPItemClasses, and for SP_CLIPPATH
 
     NRRect temp_bbox;
     temp_bbox.x0 = temp_bbox.y0 = NR_HUGE;
@@ -809,11 +811,11 @@ sp_item_invoke_bbox_full(SPItem const *item, boost::optional<NR::Rect> &bbox, NR
                 }
 
                 // transform the expansions by the item's transform:
-                NR::Matrix i2d(sp_item_i2d_affine (item));
-                dx0 *= NR::expansionX(i2d);
-                dx1 *= NR::expansionX(i2d);
-                dy0 *= NR::expansionY(i2d);
-                dy1 *= NR::expansionY(i2d);
+                Geom::Matrix i2d(sp_item_i2d_affine (item));
+                dx0 *= i2d.expansionX();
+                dx1 *= i2d.expansionX();
+                dy0 *= i2d.expansionY();
+                dy1 *= i2d.expansionY();
 
                 // expand the bbox
                 temp_bbox.x0 += dx0;
@@ -835,26 +837,26 @@ sp_item_invoke_bbox_full(SPItem const *item, boost::optional<NR::Rect> &bbox, NR
         // or it has explicitely been set to be like this (e.g. in sp_shape_bbox)
         
         // When x0 > x1 or y0 > y1, the bbox is considered to be "nothing", although it has not been 
-        // explicitely defined this way for NRRects (as opposed to boost::optional<NR::Rect>)
+        // explicitely defined this way for NRRects (as opposed to boost::optional<Geom::Rect>)
         // So union bbox with nothing = do nothing, just return
         return;
     }
 
-    // Do not use temp_bbox.upgrade() here, because it uses a test that returns an empty boost::optional<NR::Rect>()
+    // Do not use temp_bbox.upgrade() here, because it uses a test that returns an empty boost::optional<Geom::Rect>()
     // for any rectangle with zero area. The geometrical bbox of for example a vertical line
-    // would therefore be translated into empty boost::optional<NR::Rect>() (see bug https://bugs.launchpad.net/inkscape/+bug/168684)
-    boost::optional<NR::Rect> temp_bbox_new = NR::Rect(NR::Point(temp_bbox.x0, temp_bbox.y0), NR::Point(temp_bbox.x1, temp_bbox.y1));
+    // would therefore be translated into empty boost::optional<Geom::Rect>() (see bug https://bugs.launchpad.net/inkscape/+bug/168684)
+    boost::optional<Geom::Rect> temp_bbox_new = Geom::Rect(Geom::Point(temp_bbox.x0, temp_bbox.y0), Geom::Point(temp_bbox.x1, temp_bbox.y1));
 
-    bbox = NR::union_bounds(bbox, temp_bbox_new);
+    bbox = Geom::unify(bbox, temp_bbox_new);
 }
 
-// DEPRECATED to phase out the use of NRRect in favor of boost::optional<NR::Rect>
+// DEPRECATED to phase out the use of NRRect in favor of boost::optional<Geom::Rect>
 /** 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. */
 void
-sp_item_invoke_bbox_full(SPItem const *item, NRRect *bbox, NR::Matrix const &transform, unsigned const flags, unsigned const clear)
+sp_item_invoke_bbox_full(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const flags, unsigned const clear)
 {
     g_assert(item != NULL);
     g_assert(SP_IS_ITEM(item));
@@ -922,9 +924,9 @@ sp_item_bbox_desktop(SPItem *item, NRRect *bbox, SPItem::BBoxType type)
     sp_item_invoke_bbox(item, bbox, sp_item_i2d_affine(item), TRUE, type);
 }
 
-boost::optional<NR::Rect> sp_item_bbox_desktop(SPItem *item, SPItem::BBoxType type)
+boost::optional<Geom::Rect> sp_item_bbox_desktop(SPItem *item, SPItem::BBoxType type)
 {
-    boost::optional<NR::Rect> rect = boost::optional<NR::Rect>();
+    boost::optional<Geom::Rect> rect = boost::optional<Geom::Rect>();
     sp_item_invoke_bbox(item, rect, sp_item_i2d_affine(item), TRUE, type);
     return rect;
 }
@@ -936,16 +938,16 @@ static void sp_item_private_snappoints(SPItem const *item, SnapPointsIter p)
         * We don't know what shape we could be dealing with here, so we'll just
         * return the corners of the bounding box */
 
-       boost::optional<NR::Rect> bbox = item->getBounds(sp_item_i2d_affine(item));
+       boost::optional<Geom::Rect> bbox = item->getBounds(sp_item_i2d_affine(item));
     
     if (bbox) {
-        NR::Point p1, p2;
+        Geom::Point p1, p2;
         p1 = bbox->min();
         p2 = bbox->max();
         *p = p1;
-        *p = NR::Point(p1[NR::X], p2[NR::Y]);
+        *p = Geom::Point(p1[Geom::X], p2[Geom::Y]);
         *p = p2;
-        *p = NR::Point(p1[NR::Y], p2[NR::X]);
+        *p = Geom::Point(p1[Geom::Y], p2[Geom::X]);
     }
       
 }
@@ -977,14 +979,14 @@ void sp_item_snappoints(SPItem const *item, bool includeItemCenter, SnapPointsIt
                // obj is a group object, the children are the actual clippers
                for (SPObject *child = (*o)->children ; child ; child = child->next) {
                    if (SP_IS_ITEM(child)) {
-                       std::vector<NR::Point> p_clip_or_mask;                      
+                       std::vector<Geom::Point> p_clip_or_mask;                            
                        // Please note the recursive call here!
                        sp_item_snappoints(SP_ITEM(child), includeItemCenter, SnapPointsIter(p_clip_or_mask));
                        // Take into account the transformation of the item being clipped or masked
-                       for (std::vector<NR::Point>::const_iterator p_orig = p_clip_or_mask.begin(); p_orig != p_clip_or_mask.end(); p_orig++) {
+                       for (std::vector<Geom::Point>::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
                                // in document coordinates. Hence the awkward construction below
-                               *p = (*p_orig) * from_2geom(matrix_to_desktop (matrix_from_desktop (item->transform, item), item));
+                               *p = (*p_orig) * matrix_to_desktop (matrix_from_desktop (item->transform, item), item);
                    }
                    }
                }
@@ -1101,7 +1103,7 @@ sp_item_invoke_show(SPItem *item, NRArena *arena, unsigned key, unsigned flags)
 
             // Update bbox, in case the clip uses bbox units
             NRRect bbox;
-            sp_item_invoke_bbox(item, &bbox, NR::identity(), TRUE);
+            sp_item_invoke_bbox(item, &bbox, Geom::identity(), TRUE);
             sp_clippath_set_bbox(SP_CLIPPATH(cp), clip_key, &bbox);
             SP_OBJECT(cp)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
         }
@@ -1120,14 +1122,14 @@ sp_item_invoke_show(SPItem *item, NRArena *arena, unsigned key, unsigned flags)
 
             // Update bbox, in case the mask uses bbox units
             NRRect bbox;
-            sp_item_invoke_bbox(item, &bbox, NR::identity(), TRUE);
+            sp_item_invoke_bbox(item, &bbox, Geom::identity(), TRUE);
             sp_mask_set_bbox(SP_MASK(mask), mask_key, &bbox);
             SP_OBJECT(mask)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
         }
         NR_ARENA_ITEM_SET_DATA(ai, item);
         NRRect item_bbox;
-        sp_item_invoke_bbox(item, &item_bbox, NR::identity(), TRUE, SPItem::GEOMETRIC_BBOX);
-        boost::optional<NR::Rect> i_bbox = item_bbox;
+        sp_item_invoke_bbox(item, &item_bbox, Geom::identity(), TRUE, SPItem::GEOMETRIC_BBOX);
+        boost::optional<Geom::Rect> i_bbox = item_bbox;
         nr_arena_item_set_item_bbox(ai, i_bbox);
     }
 
@@ -1175,7 +1177,7 @@ sp_item_invoke_hide(SPItem *item, unsigned key)
 // Adjusters
 
 void
-sp_item_adjust_pattern (SPItem *item, NR::Matrix const &postmul, bool set)
+sp_item_adjust_pattern (SPItem *item, Geom::Matrix const &postmul, bool set)
 {
     SPStyle *style = SP_OBJECT_STYLE (item);
 
@@ -1198,7 +1200,7 @@ sp_item_adjust_pattern (SPItem *item, NR::Matrix const &postmul, bool set)
 }
 
 void
-sp_item_adjust_gradient (SPItem *item, NR::Matrix const &postmul, bool set)
+sp_item_adjust_gradient (SPItem *item, Geom::Matrix const &postmul, bool set)
 {
     SPStyle *style = SP_OBJECT_STYLE (item);
 
@@ -1255,13 +1257,13 @@ sp_item_adjust_stroke (SPItem *item, gdouble ex)
 /**
  * Find out the inverse of previous transform of an item (from its repr)
  */
-NR::Matrix
+Geom::Matrix
 sp_item_transform_repr (SPItem *item)
 {
-    NR::Matrix t_old(NR::identity());
+    Geom::Matrix t_old(Geom::identity());
     gchar const *t_attr = SP_OBJECT_REPR(item)->attribute("transform");
     if (t_attr) {
-        NR::Matrix t;
+        Geom::Matrix t;
         if (sp_svg_transform_read(t_attr, &t)) {
             t_old = t;
         }
@@ -1293,7 +1295,7 @@ sp_item_adjust_stroke_width_recursive(SPItem *item, double expansion)
  * Recursively adjust rx and ry of rects.
  */
 void
-sp_item_adjust_rects_recursive(SPItem *item, NR::Matrix advertized_transform)
+sp_item_adjust_rects_recursive(SPItem *item, Geom::Matrix advertized_transform)
 {
     if (SP_IS_RECT (item)) {
         sp_rect_compensate_rxry (SP_RECT(item), advertized_transform);
@@ -1309,13 +1311,13 @@ sp_item_adjust_rects_recursive(SPItem *item, NR::Matrix advertized_transform)
  * Recursively compensate pattern or gradient transform.
  */
 void
-sp_item_adjust_paint_recursive (SPItem *item, NR::Matrix advertized_transform, NR::Matrix t_ancestors, bool is_pattern)
+sp_item_adjust_paint_recursive (SPItem *item, Geom::Matrix advertized_transform, Geom::Matrix t_ancestors, bool is_pattern)
 {
 // _Before_ full pattern/gradient transform: t_paint * t_item * t_ancestors
 // _After_ full pattern/gradient transform: t_paint_new * t_item * t_ancestors * advertised_transform
 // By equating these two expressions we get t_paint_new = t_paint * paint_delta, where:
-    NR::Matrix t_item = sp_item_transform_repr (item);
-    NR::Matrix paint_delta = t_item * t_ancestors * advertized_transform * t_ancestors.inverse() * t_item.inverse();
+    Geom::Matrix t_item = sp_item_transform_repr (item);
+    Geom::Matrix paint_delta = t_item * t_ancestors * advertized_transform * t_ancestors.inverse() * t_item.inverse();
 
 // Within text, we do not fork gradients, and so must not recurse to avoid double compensation;
 // also we do not recurse into clones, because a clone's child is the ghost of its original -
@@ -1343,7 +1345,7 @@ sp_item_adjust_paint_recursive (SPItem *item, NR::Matrix advertized_transform, N
 }
 
 void
-sp_item_adjust_livepatheffect (SPItem *item, NR::Matrix const &postmul, bool set)
+sp_item_adjust_livepatheffect (SPItem *item, Geom::Matrix const &postmul, bool set)
 {
     if ( !SP_IS_LPE_ITEM(item) )
         return;
@@ -1362,8 +1364,8 @@ sp_item_adjust_livepatheffect (SPItem *item, NR::Matrix const &postmul, bool set
                     sp_lpe_item_replace_path_effect(lpeitem, lpeobj, new_lpeobj);
                 }
         
-                if (lpeobj->lpe) {
-                    Inkscape::LivePathEffect::Effect * effect = lpeobj->lpe;
+                if (lpeobj->get_lpe()) {
+                    Inkscape::LivePathEffect::Effect * effect = lpeobj->get_lpe();
                     effect->transform_multiply(postmul, set);
                 }
             }
@@ -1372,14 +1374,14 @@ sp_item_adjust_livepatheffect (SPItem *item, NR::Matrix const &postmul, bool set
 }
 
 /**
- * A temporary wrapper for the next function accepting the NR::Matrix
- * instead of NR::Matrix
+ * A temporary wrapper for the next function accepting the Geom::Matrix
+ * instead of Geom::Matrix
  */
 void
-sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, NR::Matrix const *transform, NR::Matrix const *adv)
+sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, Geom::Matrix const *transform, Geom::Matrix const *adv)
 {
     if (transform == NULL)
-        sp_item_write_transform(item, repr, NR::identity(), adv);
+        sp_item_write_transform(item, repr, Geom::identity(), adv);
     else
         sp_item_write_transform(item, repr, *transform, adv);
 }
@@ -1393,14 +1395,14 @@ sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, NR::Matrix cons
  * the repr is updated with the new transform.
  */
 void
-sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, NR::Matrix const &transform, NR::Matrix const *adv, bool compensate)
+sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, Geom::Matrix const &transform, Geom::Matrix const *adv, bool compensate)
 {
     g_return_if_fail(item != NULL);
     g_return_if_fail(SP_IS_ITEM(item));
     g_return_if_fail(repr != NULL);
 
     // calculate the relative transform, if not given by the adv attribute
-    NR::Matrix advertized_transform;
+    Geom::Matrix advertized_transform;
     if (adv != NULL) {
         advertized_transform = *adv;
     } else {
@@ -1411,7 +1413,7 @@ sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, NR::Matrix cons
 
          // recursively compensate for stroke scaling, depending on user preference
         if (prefs_get_int_attribute("options.transform", "stroke", 1) == 0) {
-            double const expansion = 1. / NR::expansion(advertized_transform);
+            double const expansion = 1. / advertized_transform.descrim();
             sp_item_adjust_stroke_width_recursive(item, expansion);
         }
 
@@ -1422,28 +1424,28 @@ sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, NR::Matrix cons
 
         // recursively compensate pattern fill if it's not to be transformed
         if (prefs_get_int_attribute("options.transform", "pattern", 1) == 0) {
-            sp_item_adjust_paint_recursive (item, advertized_transform.inverse(), NR::identity(), 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) {
-            sp_item_adjust_paint_recursive (item, advertized_transform.inverse(), NR::identity(), false);
+            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
             // it here _before_ the new transform is set, so as to use the pre-transform bbox
-            sp_item_adjust_paint_recursive (item, NR::identity(), NR::identity(), false);
+            sp_item_adjust_paint_recursive (item, Geom::identity(), Geom::identity(), false);
         }
 
     } // endif(compensate)
 
     gint preserve = prefs_get_int_attribute("options.preservetransform", "value", 0);
-    NR::Matrix transform_attr (transform);
+    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
              !preserve && // user did not chose to preserve all transforms
              !item->clip_ref->getObject() && // the object does not have a clippath
              !item->mask_ref->getObject() && // the object does not have a mask
-         !(!transform.is_translation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter())
+         !(!transform.isTranslation() && SP_OBJECT_STYLE(item) && SP_OBJECT_STYLE(item)->getFilter())
              // the object does not have a filter, or the transform is translation (which is supposed to not affect filters)
         ) {
         transform_attr = ((SPItemClass *) G_OBJECT_GET_CLASS(item))->set_transform(item, transform);
@@ -1478,7 +1480,7 @@ sp_item_event(SPItem *item, SPEvent *event)
  * gradients, patterns as sp_item_write_transform does.
  */
 void
-sp_item_set_item_transform(SPItem *item, NR::Matrix const &transform)
+sp_item_set_item_transform(SPItem *item, Geom::Matrix const &transform)
 {
     g_return_if_fail(item != NULL);
     g_return_if_fail(SP_IS_ITEM(item));
@@ -1536,7 +1538,7 @@ i2i_affine(SPObject const *src, SPObject const *dest) {
     return i2anc_affine(src, ancestor) * i2anc_affine(dest, ancestor).inverse();
 }
 
-NR::Matrix SPItem::getRelativeTransform(SPObject const *dest) const {
+Geom::Matrix SPItem::getRelativeTransform(SPObject const *dest) const {
     return i2i_affine(this, dest);
 }
 
@@ -1729,7 +1731,7 @@ sp_item_convert_to_guides(SPItem *item) {
     SPItem::BBoxType bbox_type = (prefs_bbox ==0)? 
         SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX;
 
-    boost::optional<NR::Rect> bbox = sp_item_bbox_desktop(item, bbox_type);
+    boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop(item, bbox_type);
     if (!bbox) {
         g_warning ("Cannot determine item's bounding box during conversion to guides.\n");
         return;
@@ -1737,10 +1739,10 @@ sp_item_convert_to_guides(SPItem *item) {
 
     std::list<std::pair<Geom::Point, Geom::Point> > pts;
 
-    NR::Point A((*bbox).min());
-    NR::Point C((*bbox).max());
-    NR::Point B(A[NR::X], C[NR::Y]);
-    NR::Point D(C[NR::X], A[NR::Y]);
+    Geom::Point A((*bbox).min());
+    Geom::Point C((*bbox).max());
+    Geom::Point B(A[Geom::X], C[Geom::Y]);
+    Geom::Point D(C[Geom::X], A[Geom::Y]);
 
     pts.push_back(std::make_pair(A, B));
     pts.push_back(std::make_pair(B, C));
index 76e07e88ed2047152d14d5f3aa5c46433bddaf38..a900c4b877fb297ab09f2a8f0c95efb9f30a6cd6 100644 (file)
@@ -119,7 +119,7 @@ struct SPItem : public SPObject {
     
     std::vector<SPGuideConstraint> constraints;
     
-    sigc::signal<void, NR::Matrix const *, SPItem *> _transformed_signal;
+    sigc::signal<void, Geom::Matrix const *, SPItem *> _transformed_signal;
 
     void init();    
     bool isLocked() const;
@@ -138,7 +138,7 @@ struct SPItem : public SPObject {
     
     void setExplicitlyHidden(bool val);
 
-    void setCenter(NR::Point object_centre);
+    void setCenter(Geom::Point object_centre);
     void unsetCenter();
     bool isCenterSet();
     Geom::Point getCenter() const;
@@ -147,19 +147,19 @@ struct SPItem : public SPObject {
     
     bool isVisibleAndUnlocked(unsigned display_key) const;
     
-    NR::Matrix getRelativeTransform(SPObject const *obj) const;
+    Geom::Matrix getRelativeTransform(SPObject const *obj) const;
     
     void raiseOne();
     void lowerOne();
     void raiseToTop();
     void lowerToBottom();
 
-    boost::optional<NR::Rect> getBounds(NR::Matrix const &transform, BBoxType type=APPROXIMATE_BBOX, unsigned int dkey=0) const;
+    boost::optional<Geom::Rect> getBounds(Geom::Matrix const &transform, BBoxType type=APPROXIMATE_BBOX, unsigned int dkey=0) const;
 
     sigc::connection _clip_ref_connection;
     sigc::connection _mask_ref_connection;
 
-    sigc::connection connectTransformed(sigc::slot<void, NR::Matrix const *, SPItem *> slot)  {
+    sigc::connection connectTransformed(sigc::slot<void, Geom::Matrix const *, SPItem *> slot)  {
         return _transformed_signal.connect(slot);
     }
 
@@ -173,7 +173,7 @@ private:
     mutable EvaluatedStatus _evaluated_status;
 };
 
-typedef std::back_insert_iterator<std::vector<NR::Point> > SnapPointsIter;
+typedef std::back_insert_iterator<std::vector<Geom::Point> > SnapPointsIter;
 
 /// The SPItem vtable.
 struct SPItemClass {
@@ -198,7 +198,7 @@ struct SPItemClass {
     void (* snappoints) (SPItem const *item, SnapPointsIter p);
     
     /** Apply the transform optimally, and return any residual transformation */
-    NR::Matrix (* set_transform)(SPItem *item, NR::Matrix const &transform);
+    Geom::Matrix (* set_transform)(SPItem *item, Geom::Matrix const &transform);
 
     /** Convert the item to guidelines */
     void (* convert_to_guides)(SPItem *item);
@@ -213,10 +213,10 @@ struct SPItemClass {
 
 /* Methods */
 
-void sp_item_invoke_bbox(SPItem const *item, boost::optional<NR::Rect> &bbox, NR::Matrix const &transform, unsigned const clear, SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX);
-void sp_item_invoke_bbox(SPItem const *item, NRRect *bbox, NR::Matrix const &transform, unsigned const clear, SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) __attribute__ ((deprecated));
-void sp_item_invoke_bbox_full(SPItem const *item, boost::optional<NR::Rect> &bbox, NR::Matrix const &transform, unsigned const flags, unsigned const clear);
-void sp_item_invoke_bbox_full(SPItem const *item, NRRect *bbox, NR::Matrix const &transform, unsigned const flags, unsigned const clear) __attribute__ ((deprecated));
+void sp_item_invoke_bbox(SPItem const *item, boost::optional<Geom::Rect> &bbox, Geom::Matrix const &transform, unsigned const clear, SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX);
+void sp_item_invoke_bbox(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const clear, SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) __attribute__ ((deprecated));
+void sp_item_invoke_bbox_full(SPItem const *item, boost::optional<Geom::Rect> &bbox, Geom::Matrix const &transform, unsigned const flags, unsigned const clear);
+void sp_item_invoke_bbox_full(SPItem const *item, NRRect *bbox, Geom::Matrix const &transform, unsigned const flags, unsigned const clear) __attribute__ ((deprecated));
 
 unsigned sp_item_pos_in_parent(SPItem *item);
 
@@ -230,17 +230,17 @@ void sp_item_invoke_hide(SPItem *item, unsigned int key);
 
 void sp_item_snappoints(SPItem const *item, bool includeItemCenter, SnapPointsIter p);
 
-void sp_item_adjust_pattern(SPItem *item, /* NR::Matrix const &premul, */ NR::Matrix const &postmul, bool set = false);
-void sp_item_adjust_gradient(SPItem *item, /* NR::Matrix const &premul, */ NR::Matrix const &postmul, bool set = false);
+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);
 void sp_item_adjust_stroke(SPItem *item, gdouble ex);
 void sp_item_adjust_stroke_width_recursive(SPItem *item, gdouble ex);
-void sp_item_adjust_paint_recursive(SPItem *item, NR::Matrix advertized_transform, NR::Matrix t_ancestors, bool is_pattern);
-void sp_item_adjust_livepatheffect(SPItem *item, NR::Matrix const &postmul, bool set = false);
+void sp_item_adjust_paint_recursive(SPItem *item, Geom::Matrix advertized_transform, Geom::Matrix t_ancestors, bool is_pattern);
+void sp_item_adjust_livepatheffect(SPItem *item, Geom::Matrix const &postmul, bool set = false);
 
-void sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, NR::Matrix const *transform, NR::Matrix const *adv = NULL);
-void sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, NR::Matrix const &transform, NR::Matrix const *adv = NULL, bool compensate = true);
+void sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, Geom::Matrix const *transform, Geom::Matrix const *adv = NULL);
+void sp_item_write_transform(SPItem *item, Inkscape::XML::Node *repr, Geom::Matrix const &transform, Geom::Matrix const *adv = NULL, bool compensate = true);
 
-void sp_item_set_item_transform(SPItem *item, NR::Matrix const &transform);
+void sp_item_set_item_transform(SPItem *item, Geom::Matrix const &transform);
 
 void sp_item_convert_item_to_guides(SPItem *item);
 
@@ -251,7 +251,7 @@ gint sp_item_event (SPItem *item, SPEvent *event);
 NRArenaItem *sp_item_get_arenaitem(SPItem *item, unsigned int key);
 
 void sp_item_bbox_desktop(SPItem *item, NRRect *bbox, SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) __attribute__ ((deprecated));
-boost::optional<NR::Rect> sp_item_bbox_desktop(SPItem *item, SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX);
+boost::optional<Geom::Rect> sp_item_bbox_desktop(SPItem *item, SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX);
 
 Geom::Matrix i2anc_affine(SPObject const *item, SPObject const *ancestor);
 Geom::Matrix i2i_affine(SPObject const *src, SPObject const *dest);
index 1f5c1b181da6356b8277de3c1ea87ac2f60e4297..a3964b171daed3db25feccb635b328c00ce6e346 100644 (file)
@@ -31,7 +31,7 @@ static void sp_line_set (SPObject *object, unsigned int key, const gchar *value)
 static Inkscape::XML::Node *sp_line_write (SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
 
 static gchar *sp_line_description (SPItem * item);
-static NR::Matrix sp_line_set_transform(SPItem *item, NR::Matrix const &xform);
+static Geom::Matrix sp_line_set_transform(SPItem *item, Geom::Matrix const &xform);
 
 static void sp_line_update (SPObject *object, SPCtx *ctx, guint flags);
 static void sp_line_set_shape (SPShape *shape);
@@ -188,28 +188,28 @@ sp_line_description(SPItem */*item*/)
     return g_strdup(_("<b>Line</b>"));
 }
 
-static NR::Matrix
-sp_line_set_transform (SPItem *item, NR::Matrix const &xform)
+static Geom::Matrix
+sp_line_set_transform (SPItem *item, Geom::Matrix const &xform)
 {
        SPLine *line = SP_LINE (item);
-       NR::Point points[2];
+       Geom::Point points[2];
 
-       points[0] = NR::Point(line->x1.computed, line->y1.computed);
-       points[1] = NR::Point(line->x2.computed, line->y2.computed);
+       points[0] = Geom::Point(line->x1.computed, line->y1.computed);
+       points[1] = Geom::Point(line->x2.computed, line->y2.computed);
 
        points[0] *= xform;
        points[1] *= xform;
 
-       line->x1.computed = points[0][NR::X];
-       line->y1.computed = points[0][NR::Y];
-       line->x2.computed = points[1][NR::X];
-       line->y2.computed = points[1][NR::Y];
+       line->x1.computed = points[0][Geom::X];
+       line->y1.computed = points[0][Geom::Y];
+       line->x2.computed = points[1][Geom::X];
+       line->y2.computed = points[1][Geom::Y];
 
-       sp_item_adjust_stroke(item, NR::expansion(xform));
+       sp_item_adjust_stroke(item, xform.descrim());
 
        SP_OBJECT (item)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
 
-       return NR::identity();
+       return Geom::identity();
 }
 
 static void
index 2b0379cd4b86475106146c93db69035491eef282..5ab9e27d6993aed2e1edb112ada43df13e6f1108 100644 (file)
@@ -215,7 +215,7 @@ sp_lpe_item_set(SPObject *object, unsigned int key, gchar const *value)
                             path_effect_ref = NULL;
                         }
 
-                        if (path_effect_ref && path_effect_ref->lpeobject && path_effect_ref->lpeobject->lpe) {
+                        if (path_effect_ref && path_effect_ref->lpeobject && path_effect_ref->lpeobject->get_lpe()) {
                             lpeitem->path_effect_list->push_back(path_effect_ref);
                         } else {
                             // something has gone wrong in finding the right patheffect. For example when the specified LPE name does not exist.
@@ -312,12 +312,12 @@ void sp_lpe_item_perform_path_effect(SPLPEItem *lpeitem, SPCurve *curve) {
                 g_warning("sp_lpe_item_perform_path_effect - NULL lpeobj in list!");
                 return;
             }
-            if (!lpeobj->lpe) {
+            Inkscape::LivePathEffect::Effect *lpe = lpeobj->get_lpe();
+            if (!lpe) {
                 g_warning("sp_lpe_item_perform_path_effect - lpeobj without lpe!");
                 return;
             }
 
-            Inkscape::LivePathEffect::Effect *lpe = lpeobj->lpe;
             if (lpe->isVisible()) {
                 if (lpe->acceptsNumClicks() > 0 && !lpe->isReady()) {
                     // if the effect expects mouse input before being applied and the input is not finished
@@ -362,7 +362,7 @@ sp_lpe_item_update_patheffect (SPLPEItem *lpeitem, bool wholetree, bool write)
     PathEffectList lpelist = sp_lpe_item_get_effect_list(lpeitem);
     std::list<Inkscape::LivePathEffect::LPEObjectReference *>::iterator i;
     for (i = lpelist.begin(); i != lpelist.end(); ++i) {
-        Inkscape::LivePathEffect::Effect *lpe = (*i)->lpeobject->lpe;
+        Inkscape::LivePathEffect::Effect *lpe = (*i)->lpeobject->get_lpe();
         if (dynamic_cast<Inkscape::LivePathEffect::LPEPathLength *>(lpe)) {
             if (!lpe->isVisible()) {
                 // we manually disable text for LPEPathLength
@@ -487,8 +487,8 @@ void sp_lpe_item_add_path_effect(SPLPEItem *lpeitem, gchar *value, bool reset)
         sp_lpe_item_create_original_path_recursive(lpeitem);
 
         LivePathEffectObject *lpeobj = lpeitem->path_effect_list->back()->lpeobject;
-        if (lpeobj && lpeobj->lpe) {
-            Inkscape::LivePathEffect::Effect *lpe = lpeobj->lpe;
+        if (lpeobj && lpeobj->get_lpe()) {
+            Inkscape::LivePathEffect::Effect *lpe = lpeobj->get_lpe();
             // Ask the path effect to reset itself if it doesn't have parameters yet
             if (reset) {
                 // has to be called when all the subitems have their lpes applied
@@ -607,8 +607,9 @@ sp_lpe_item_has_path_effect_of_type(SPLPEItem *lpeitem, int type)
 {
     std::list<Inkscape::LivePathEffect::LPEObjectReference *>::iterator i;
     for (i = lpeitem->path_effect_list->begin(); i != lpeitem->path_effect_list->end(); ++i) {
-        if ((*i)->lpeobject->lpe->effectType() == type) {
-            return (*i)->lpeobject->lpe;
+        Inkscape::LivePathEffect::Effect* lpe = (*i)->lpeobject->get_lpe();
+        if (lpe && (lpe->effectType() == type)) {
+            return lpe;
         }
     }
     return NULL;
@@ -629,8 +630,8 @@ bool sp_lpe_item_can_accept_freehand_shape(SPLPEItem *lpeitem)
 void sp_lpe_item_edit_next_param_oncanvas(SPLPEItem *lpeitem, SPDesktop *dt)
 {
     Inkscape::LivePathEffect::LPEObjectReference *lperef = sp_lpe_item_get_current_lpereference(lpeitem);
-    if (lperef && lperef->lpeobject && lperef->lpeobject->lpe) {
-        lperef->lpeobject->lpe->editNextParamOncanvas(SP_ITEM(lpeitem), dt);
+    if (lperef && lperef->lpeobject && lperef->lpeobject->get_lpe()) {
+        lperef->lpeobject->get_lpe()->editNextParamOncanvas(SP_ITEM(lpeitem), dt);
     }
 }
 
@@ -714,7 +715,7 @@ Inkscape::LivePathEffect::Effect* sp_lpe_item_get_current_lpe(SPLPEItem *lpeitem
     Inkscape::LivePathEffect::LPEObjectReference* lperef = sp_lpe_item_get_current_lpereference(lpeitem);
 
     if (lperef && lperef->lpeobject)
-        return lperef->lpeobject->lpe;
+        return lperef->lpeobject->get_lpe();
     else
         return NULL;
 }
index 49a40f4caf3cb4b874932481d391ed8f2cf15a16..e7bae29510a928937cc561e415686eac406d4b55 100644 (file)
@@ -219,7 +219,7 @@ sp_mask_update (SPObject *object, SPCtx *ctx, guint flags)
        SPMask *mask = SP_MASK (object);
        for (SPMaskView *v = mask->display; v != NULL; v = v->next) {
                if (mask->maskContentUnits == SP_CONTENT_UNITS_OBJECTBOUNDINGBOX) {
-            NR::Matrix t(NR::scale(v->bbox.x1 - v->bbox.x0, v->bbox.y1 - v->bbox.y0));
+            Geom::Matrix t(Geom::Scale(v->bbox.x1 - v->bbox.x0, v->bbox.y1 - v->bbox.y0));
                        t[4] = v->bbox.x0;
                        t[5] = v->bbox.y0;
                        nr_arena_group_set_child_transform (NR_ARENA_GROUP (v->arenaitem), &t);
@@ -322,7 +322,7 @@ sp_mask_show (SPMask *mask, NRArena *arena, unsigned int key)
        }
 
        if (mask->maskContentUnits == SP_CONTENT_UNITS_OBJECTBOUNDINGBOX) {
-        NR::Matrix t(NR::scale(mask->display->bbox.x1 - mask->display->bbox.x0, mask->display->bbox.y1 - mask->display->bbox.y0));
+        Geom::Matrix t(Geom::Scale(mask->display->bbox.x1 - mask->display->bbox.x0, mask->display->bbox.y1 - mask->display->bbox.y0));
                t[4] = mask->display->bbox.x0;
                t[5] = mask->display->bbox.y0;
                nr_arena_group_set_child_transform (NR_ARENA_GROUP (ai), &t);
index 37ea2e5f5fa04dbea6534e05cb866993295b6a77..877bc6823523abf946586c67e8209d8372076c24 100644 (file)
@@ -91,7 +91,7 @@ static void refresh_offset_source(SPOffset* offset);
 static void sp_offset_start_listening(SPOffset *offset,SPObject* to);
 static void sp_offset_quit_listening(SPOffset *offset);
 static void sp_offset_href_changed(SPObject *old_ref, SPObject *ref, SPOffset *offset);
-static void sp_offset_move_compensate(NR::Matrix const *mp, SPItem *original, SPOffset *self);
+static void sp_offset_move_compensate(Geom::Matrix const *mp, SPItem *original, SPOffset *self);
 static void sp_offset_delete_self(SPObject *deleted, SPOffset *self);
 static void sp_offset_source_modified (SPObject *iSource, guint flags, SPItem *item);
 
@@ -510,7 +510,7 @@ sp_offset_set_shape(SPShape *shape)
         theRes->ConvertToForme (orig, 1, originaux);
 
         SPItem *item = shape;
-        boost::optional<NR::Rect> bbox = sp_item_bbox_desktop (item);
+        boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop (item);
         if ( bbox && !bbox->isEmpty() ) {
             gdouble size = L2(bbox->dimensions());
             gdouble const exp = NR::expansion(item->transform);
@@ -1021,23 +1021,23 @@ sp_offset_href_changed(SPObject */*old_ref*/, SPObject */*ref*/, SPOffset *offse
 }
 
 static void
-sp_offset_move_compensate(NR::Matrix const *mp, SPItem */*original*/, SPOffset *self)
+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);
     if (mode == SP_CLONE_COMPENSATION_NONE) return;
 
-    NR::Matrix m(*mp);
-    if (!(m.is_translation())) return;
+    Geom::Matrix m(*mp);
+    if (!(m.isTranslation())) return;
 
     // calculate the compensation matrix and the advertized movement matrix
     SPItem *item = SP_ITEM(self);
 
-    NR::Matrix compensate;
-    NR::Matrix advertized_move;
+    Geom::Matrix compensate;
+    Geom::Matrix advertized_move;
 
     if (mode == SP_CLONE_COMPENSATION_UNMOVED) {
-        compensate = NR::identity();
-        advertized_move.set_identity();
+        compensate = Geom::identity();
+        advertized_move.setIdentity();
     } else if (mode == SP_CLONE_COMPENSATION_PARALLEL) {
         compensate = m;
         advertized_move = m;
index 731ecce647e0004134198db006d511abf4115398..16e3bec400b4442bc9a61e28253ba54dbeae1b2b 100644 (file)
@@ -56,7 +56,7 @@ static void sp_path_build(SPObject *object, SPDocument *document, Inkscape::XML:
 static void sp_path_set(SPObject *object, unsigned key, gchar const *value);
 
 static Inkscape::XML::Node *sp_path_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
-static NR::Matrix sp_path_set_transform(SPItem *item, NR::Matrix const &xform);
+static Geom::Matrix sp_path_set_transform(SPItem *item, Geom::Matrix const &xform);
 static gchar * sp_path_description(SPItem *item);
 static void sp_path_convert_to_guides(SPItem *item);
 
@@ -348,14 +348,14 @@ sp_path_update(SPObject *object, SPCtx *ctx, guint flags)
 /**
  * Writes the given transform into the repr for the given item.
  */
-static NR::Matrix
-sp_path_set_transform(SPItem *item, NR::Matrix const &xform)
+static Geom::Matrix
+sp_path_set_transform(SPItem *item, Geom::Matrix const &xform)
 {
     SPShape *shape = (SPShape *) item;
     SPPath *path = (SPPath *) item;
 
     if (!shape->curve) { // 0 nodes, nothing to transform
-        return NR::identity();
+        return Geom::identity();
     }
 
     // Transform the original-d path or the (ordinary) path
@@ -366,7 +366,7 @@ sp_path_set_transform(SPItem *item, NR::Matrix const &xform)
     }
 
     // Adjust stroke
-    sp_item_adjust_stroke(item, NR::expansion(xform));
+    sp_item_adjust_stroke(item, xform.descrim());
 
     // Adjust pattern fill
     sp_item_adjust_pattern(item, xform);
@@ -380,35 +380,37 @@ sp_path_set_transform(SPItem *item, NR::Matrix const &xform)
     item->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG);
 
     // nothing remains - we've written all of the transform, so return identity
-    return NR::identity();
+    return Geom::identity();
 }
 
 static void
 sp_path_update_patheffect(SPLPEItem *lpeitem, bool write)
 {
-    SPShape *shape = (SPShape *) lpeitem;
-    SPPath *path = (SPPath *) 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);
+    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);
+                }
             }
         }
-    } else {
-
     }
+    // else: do nothing.
 }
 
 
index f7c8a03fc508d8ef2b24bfaf839c8c2d681bb765..9d981c5f2a176279caaf86352348b4b39b3d8ea3 100644 (file)
@@ -20,7 +20,7 @@
 #include <string>
 #include <libnr/nr-matrix-ops.h>
 #include "libnr/nr-matrix-fns.h"
-#include <libnr/nr-translate-matrix-ops.h>
+#include <2geom/transforms.h>
 #include "macros.h"
 #include "svg/svg.h"
 #include "display/nr-arena.h"
@@ -705,7 +705,7 @@ sp_pattern_painter_new (SPPaintServer *ps, NR::Matrix const &full_transform, NR:
                        pp->pcs2px = pattern_patternTransform(pat) * full_transform;
                }
 
-               pp->pcs2px = NR::translate (pattern_x (pat), pattern_y (pat)) * pp->pcs2px;
+               pp->pcs2px = Geom::Translate (pattern_x (pat), pattern_y (pat)) * pp->pcs2px;
        }
 
        /* Create arena */
index b573300e09468104ee7a680cbfe24a7e9a9dfe8c..36e64614e6b00e6626af2ab0d103c3b6a074a66b 100644 (file)
@@ -43,7 +43,7 @@ static void sp_rect_update(SPObject *object, SPCtx *ctx, guint flags);
 static Inkscape::XML::Node *sp_rect_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
 
 static gchar *sp_rect_description(SPItem *item);
-static NR::Matrix sp_rect_set_transform(SPItem *item, NR::Matrix const &xform);
+static Geom::Matrix sp_rect_set_transform(SPItem *item, Geom::Matrix const &xform);
 static void sp_rect_convert_to_guides(SPItem *item);
 
 static void sp_rect_set_shape(SPShape *shape);
@@ -336,17 +336,17 @@ sp_rect_set_ry(SPRect *rect, gboolean set, gdouble value)
 /* fixme: Use preferred units somehow (Lauris) */
 /* fixme: Alternately preserve whatever units there are (lauris) */
 
-static NR::Matrix
-sp_rect_set_transform(SPItem *item, NR::Matrix const &xform)
+static Geom::Matrix
+sp_rect_set_transform(SPItem *item, Geom::Matrix const &xform)
 {
     SPRect *rect = SP_RECT(item);
 
     /* Calculate rect start in parent coords. */
-    NR::Point pos( NR::Point(rect->x.computed, rect->y.computed) * xform );
+    Geom::Point pos( Geom::Point(rect->x.computed, rect->y.computed) * xform );
 
     /* This function takes care of translation and scaling, we return whatever parts we can't
        handle. */
-    NR::Matrix ret(NR::transform(xform));
+    Geom::Matrix ret(Geom::Matrix(xform).without_translation());
     gdouble const sw = hypot(ret[0], ret[1]);
     gdouble const sh = hypot(ret[2], ret[3]);
     if (sw > 1e-9) {
@@ -376,8 +376,8 @@ sp_rect_set_transform(SPItem *item, NR::Matrix const &xform)
 
     /* Find start in item coords */
     pos = pos * ret.inverse();
-    rect->x = pos[NR::X];
-    rect->y = pos[NR::Y];
+    rect->x = pos[Geom::X];
+    rect->y = pos[Geom::Y];
 
     sp_rect_set_shape(rect);
 
index 6aec13bc97d76cde595f5ad0ce7882fe56bfc984..bdffd821cf22f02546d34478261868b219e85135 100644 (file)
@@ -272,7 +272,7 @@ sp_shape_update (SPObject *object, SPCtx *ctx, unsigned int flags)
     if (flags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_PARENT_MODIFIED_FLAG)) {
         /* This is suboptimal, because changing parent style schedules recalculation */
         /* But on the other hand - how can we know that parent does not tie style and transform */
-        boost::optional<NR::Rect> paintbox = SP_ITEM(object)->getBounds(NR::identity(), SPItem::GEOMETRIC_BBOX);
+        boost::optional<Geom::Rect> paintbox = SP_ITEM(object)->getBounds(Geom::identity(), SPItem::GEOMETRIC_BBOX);
         for (SPItemView *v = SP_ITEM (shape)->display; v != NULL; v = v->next) {
             NRArenaShape * const s = NR_ARENA_SHAPE(v->arenaitem);
             if (flags & SP_OBJECT_MODIFIED_FLAG) {
@@ -738,7 +738,7 @@ sp_shape_show (SPItem *item, NRArena *arena, unsigned int /*key*/, unsigned int
         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<NR::Rect> paintbox = item->getBounds(NR::identity());
+        boost::optional<Geom::Rect> paintbox = item->getBounds(Geom::identity());
         if (paintbox) {
             s->setPaintBox(*paintbox);
         }
index 96bc9180a9f9ff197411ee0b3f939470ae48ea97..d86e3de489c694a206254d6f2de89f0c7bbb82ab 100644 (file)
@@ -409,7 +409,7 @@ sp_star_get_curvepoint (SPStar *star, SPStarPoint point, gint index, bool previ)
                guint32 seed = point_unique_int (o);
 
                // randomly rotate (by step 3 from the seed) and scale (by step 4) the vector
-               ret = ret * NR::Matrix (NR::rotate (star->randomized * M_PI * rnd (seed, 3)));
+               ret = ret * NR::Matrix (Geom::Rotate (star->randomized * M_PI * rnd (seed, 3)));
                ret *= ( 1 + star->randomized * rnd (seed, 4));
 
                // the randomized corner point
index 06f8bfb493f59de4e2b07c72cf4c1b5f48cae4db..8be53dd50d9944652dd5435e7e63d0e0a9257103 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "libnr/nr-matrix-fns.h"
 #include "libnr/nr-matrix-ops.h"
+#include <2geom/transforms.h>
 #include "display/nr-arena-group.h"
 #include "xml/repr.h"
 #include "attributes.h"
@@ -269,7 +270,7 @@ sp_symbol_update (SPObject *object, SPCtx *ctx, guint flags)
 
         /* Calculate child to parent transformation */
         /* Apply parent <use> translation (set up as vewport) */
-        symbol->c2p = NR::Matrix(NR::translate(rctx.vp.x0, rctx.vp.y0));
+        symbol->c2p = NR::Matrix(Geom::Translate(rctx.vp.x0, rctx.vp.y0));
 
         if (symbol->viewBox_set) {
             double x, y, width, height;
index 754cc24f91e2e19f7d73a7bdb26cdbca8c3fa156..dd57428ef914877edc58da707e64634a3a420f9e 100644 (file)
@@ -25,6 +25,7 @@
 # include "config.h"
 #endif
 
+#include <2geom/matrix.h>
 #include <libnr/nr-matrix-fns.h>
 #include <libnrtype/FontFactory.h>
 #include <libnrtype/font-instance.h>
@@ -74,7 +75,7 @@ static NRArenaItem *sp_text_show (SPItem *item, NRArena *arena, unsigned key, un
 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 NR::Matrix sp_text_set_transform(SPItem *item, NR::Matrix const &xform);
+static Geom::Matrix sp_text_set_transform(SPItem *item, Geom::Matrix const &xform);
 static void sp_text_print (SPItem *item, SPPrintContext *gpc);
 
 static SPItemClass *text_parent_class;
@@ -436,8 +437,8 @@ static void sp_text_snappoints(SPItem const *item, SnapPointsIter p)
     }
 }
 
-static NR::Matrix
-sp_text_set_transform (SPItem *item, NR::Matrix const &xform)
+static Geom::Matrix
+sp_text_set_transform (SPItem *item, Geom::Matrix const &xform)
 {
     SPText *text = SP_TEXT(item);
 
@@ -454,12 +455,12 @@ sp_text_set_transform (SPItem *item, NR::Matrix const &xform)
 // (e.g. it broke stroke width on copy/pasting of style from horizontally stretched to vertically
 // stretched shape). Using fontsize_expansion only here broke setting the style via font
 // dialog. This needs to be investigated further.
-    double const ex = NR::expansion(xform);
+    double const ex = xform.descrim();
     if (ex == 0) {
         return xform;
     }
 
-    NR::Matrix ret(NR::transform(xform));
+    Geom::Matrix ret(Geom::Matrix(xform).without_translation());
     ret[0] /= ex;
     ret[1] /= ex;
     ret[2] /= ex;
index e493e6afa09f1a1808364fee4d7ee48811a5d2dc..347a824270d2b32b2aa3a9197a1ea031b95bc355 100644 (file)
@@ -41,7 +41,7 @@ bool SPUseReference::_acceptObject(SPObject * const obj) const
 
 
 static void sp_usepath_href_changed(SPObject *old_ref, SPObject *ref, SPUsePath *offset);
-static void sp_usepath_move_compensate(NR::Matrix const *mp, SPItem *original, SPUsePath *self);
+static void sp_usepath_move_compensate(Geom::Matrix const *mp, SPItem *original, SPUsePath *self);
 static void sp_usepath_delete_self(SPObject *deleted, SPUsePath *offset);
 static void sp_usepath_source_modified(SPObject *iSource, guint flags, SPUsePath *offset);
 
@@ -139,7 +139,7 @@ sp_usepath_href_changed(SPObject */*old_ref*/, SPObject */*ref*/, SPUsePath *off
 }
 
 static void
-sp_usepath_move_compensate(NR::Matrix const *mp, SPItem *original, SPUsePath *self)
+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);
     if (mode == SP_CLONE_COMPENSATION_NONE) {
index 8b63217455f280c7f4d4452967cdc8302126d689..12066f925636db48eaead4199ea447b98012f742 100644 (file)
@@ -22,7 +22,7 @@
 
 #include <libnr/nr-matrix-ops.h>
 #include <libnr/nr-matrix-fns.h>
-#include "libnr/nr-matrix-translate-ops.h"
+#include <2geom/transforms.h>
 #include <glibmm/i18n.h>
 #include "display/nr-arena-group.h"
 #include "attributes.h"
@@ -299,7 +299,7 @@ sp_use_print(SPItem *item, SPPrintContext *ctx)
     SPUse *use = SP_USE(item);
 
     if ((use->x._set && use->x.computed != 0) || (use->y._set && use->y.computed != 0)) {
-        NR::Matrix tp(NR::translate(use->x.computed, use->y.computed));
+        NR::Matrix tp(Geom::Translate(use->x.computed, use->y.computed));
         sp_print_bind(ctx, tp, 1.0);
         translated = true;
     }
@@ -354,7 +354,7 @@ sp_use_show(SPItem *item, NRArena *arena, unsigned key, unsigned flags)
         if (ac) {
             nr_arena_item_add_child(ai, ac, NULL);
         }
-        NR::translate t(use->x.computed,
+        Geom::Translate t(use->x.computed,
                         use->y.computed);
         nr_arena_group_set_child_transform(NR_ARENA_GROUP(ai), NR::Matrix(t));
     }
@@ -424,7 +424,7 @@ sp_use_get_root_transform(SPUse *use)
         if (SP_IS_USE(i_tem)) {
             SPUse *i_use = SP_USE(i_tem);
             if ((i_use->x._set && i_use->x.computed != 0) || (i_use->y._set && i_use->y.computed != 0)) {
-                t = t * NR::translate(i_use->x._set ? i_use->x.computed : 0, i_use->y._set ? i_use->y.computed : 0);
+                t = t * Geom::Translate(i_use->x._set ? i_use->x.computed : 0, i_use->y._set ? i_use->y.computed : 0);
             }
         }
 
@@ -442,9 +442,9 @@ sp_use_get_root_transform(SPUse *use)
 NR::Matrix
 sp_use_get_parent_transform(SPUse *use)
 {
-    NR::Matrix t(NR::identity());
+    Geom::Matrix t(Geom::identity());
     if ((use->x._set && use->x.computed != 0) || (use->y._set && use->y.computed != 0)) {
-        t *= NR::translate(use->x._set ? use->x.computed : 0,
+        t *= Geom::Translate(use->x._set ? use->x.computed : 0,
                            use->y._set ? use->y.computed : 0);
     }
 
@@ -458,7 +458,7 @@ sp_use_get_parent_transform(SPUse *use)
  * clone's transform.
  */
 static void
-sp_use_move_compensate(NR::Matrix const *mp, SPItem */*original*/, SPUse *self)
+sp_use_move_compensate(Geom::Matrix const *mp, SPItem */*original*/, SPUse *self)
 {
     // the clone is orphaned; or this is not a real use, but a clone of another use;
     // we skip it, otherwise duplicate compensation will occur
@@ -476,26 +476,26 @@ sp_use_move_compensate(NR::Matrix const *mp, SPItem */*original*/, SPUse *self)
     if (mode == SP_CLONE_COMPENSATION_NONE)
         return;
 
-    NR::Matrix m(*mp);
+    Geom::Matrix m(*mp);
 
     // this is not a simple move, do not try to compensate
-    if (!(m.is_translation()))
+    if (!(m.isTranslation()))
         return;
 
     // restore item->transform field from the repr, in case it was changed by seltrans
     sp_object_read_attr (SP_OBJECT (self), "transform");
 
-    NR::Matrix t = sp_use_get_parent_transform(self);
-    NR::Matrix clone_move = t.inverse() * m * t;
+    Geom::Matrix t = sp_use_get_parent_transform(self);
+    Geom::Matrix clone_move = t.inverse() * m * t;
 
     // calculate the compensation matrix and the advertized movement matrix
-    NR::Matrix advertized_move;
+    Geom::Matrix advertized_move;
     if (mode == SP_CLONE_COMPENSATION_PARALLEL) {
         clone_move = clone_move.inverse() * m;
         advertized_move = m;
     } else if (mode == SP_CLONE_COMPENSATION_UNMOVED) {
         clone_move = clone_move.inverse();
-        advertized_move.set_identity();
+        advertized_move.setIdentity();
     } else {
         g_assert_not_reached();
     }
@@ -623,7 +623,7 @@ sp_use_update(SPObject *object, SPCtx *ctx, unsigned flags)
 
     /* As last step set additional transform of arena group */
     for (SPItemView *v = item->display; v != NULL; v = v->next) {
-        NR::Matrix t(NR::translate(use->x.computed, use->y.computed));
+        NR::Matrix t(Geom::Translate(use->x.computed, use->y.computed));
         nr_arena_group_set_child_transform(NR_ARENA_GROUP(v->arenaitem), t);
     }
 }
@@ -671,7 +671,7 @@ sp_use_unlink(SPUse *use)
     g_return_val_if_fail(orig, NULL);
 
     // Calculate the accumulated transform, starting from the original.
-    NR::Matrix t = sp_use_get_root_transform(use);
+    Geom::Matrix t = sp_use_get_root_transform(use);
 
     Inkscape::XML::Node *copy = NULL;
     if (SP_IS_SYMBOL(orig)) { // make a group, copy children
@@ -724,7 +724,7 @@ sp_use_unlink(SPUse *use)
     SPItem *item = SP_ITEM(unlinked);
     // Set the accummulated transform.
     {
-        NR::Matrix nomove(NR::identity());
+        Geom::Matrix nomove(Geom::identity());
         // Advertise ourselves as not moving.
         sp_item_write_transform(item, SP_OBJECT_REPR(item), t, &nomove);
     }
index f44cba46d60cf7151746ed57e95b099d6a993572..dc19ac761f6e5be1184d347b793236da3712a8bb 100644 (file)
@@ -1647,7 +1647,7 @@ sp_selected_path_simplify_items(SPDesktop *desktop,
 
   bool didSomething = false;
 
-  boost::optional<NR::Rect> selectionBbox = selection->bounds();
+  boost::optional<Geom::Rect> selectionBbox = selection->bounds();
   if (!selectionBbox) {
     return false;
   }
@@ -1668,7 +1668,7 @@ sp_selected_path_simplify_items(SPDesktop *desktop,
           continue;
 
       if (simplifyIndividualPaths) {
-          boost::optional<NR::Rect> itemBbox = item->getBounds(sp_item_i2d_affine(item));
+          boost::optional<Geom::Rect> itemBbox = item->getBounds(sp_item_i2d_affine(item));
           if (itemBbox) {
               simplifySize      = L2(itemBbox->dimensions());
           } else {
index c4e35a2c9c04bb15b2249c613de462fd1ba62d86..c406e70a571083b18996d8c94cce54308967bebb 100644 (file)
@@ -100,7 +100,7 @@ SPSVGView::doRescale (bool event)
     }
 
     if (_drawing) {
-        sp_canvas_item_affine_absolute (_drawing, NR::Matrix(NR::scale(_hscale, _vscale)));
+        sp_canvas_item_affine_absolute (_drawing, NR::Matrix(Geom::Scale(_hscale, _vscale)));
     }
 
     if (event) {
index a34736176185b98fe8b8b0259d319e8eac2519d1..2445135c3833fe710e23ca51b20ce21d3e691764 100644 (file)
 #include <glib/gstrfuncs.h>
 #include <libnr/nr-matrix-fns.h>
 #include <libnr/nr-matrix-ops.h>
-#include <libnr/nr-matrix-translate-ops.h>
-#include <libnr/nr-rotate-fns.h>
-#include <libnr/nr-rotate-matrix-ops.h>
-#include <libnr/nr-scale-matrix-ops.h>
-#include <libnr/nr-translate-matrix-ops.h>
-#include <libnr/nr-translate-rotate-ops.h>
+#include <2geom/transforms.h>
+#include <2geom/angle.h>
 #include <libnr/nr-convert2geom.h>
 #include "svg.h"
 #include "prefs-utils.h"
@@ -128,24 +124,24 @@ sp_svg_transform_read(gchar const *str, NR::Matrix *transform)
                        } else if (n_args != 2) {
                                return false;
                        }
-                       a = NR::translate(args[0], args[1]) * a;
+                       a = Geom::Translate(args[0], args[1]) * a;
                } else if (!strcmp (keyword, "scale")) {
                        if (n_args == 1) {
                                args[1] = args[0];
                        } else if (n_args != 2) {
                                return false;
                        }
-                       a = NR::scale(args[0], args[1]) * a;
+                       a = Geom::Scale(args[0], args[1]) * a;
                } else if (!strcmp (keyword, "rotate")) {
                        if (n_args != 1 && n_args != 3) {
                                return false;
                        }
-                       NR::rotate const rot(rotate_degrees(args[0]));
+                       Geom::Rotate const rot(Geom::deg_to_rad(args[0]));
                        if (n_args == 3) {
-                               a = ( NR::translate(-args[1], -args[2])
+                               a = ( Geom::Translate(-args[1], -args[2])
                                      * rot
-                                     * NR::translate(args[1], args[2])
-                                     * a );
+                                     * Geom::Translate(args[1], args[2])
+                                     * Geom::Matrix(a) );
                        } else {
                                a = rot * a;
                        }
index 9d7fe3c03ae63970c941c574f349ca760e91e4b3..08f0cf0d9fef000a70cf61a02253a5669bba40e9 100644 (file)
@@ -445,7 +445,7 @@ sp_text_context_item_handler(SPEventContext *event_context, SPItem *item, GdkEve
             item_ungrouped = desktop->item_at_point(NR::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<Geom::Rect> ibbox = to_2geom(sp_item_bbox_desktop(item_ungrouped));
+                boost::optional<Geom::Rect> ibbox = sp_item_bbox_desktop(item_ungrouped);
                 if (ibbox) {
                     SP_CTRLRECT(tc->indicator)->setRectangle(*ibbox);
                 }
@@ -1607,7 +1607,7 @@ sp_text_context_update_cursor(SPTextContext *tc,  bool scroll_to_see)
             SPItem *frame = SP_FLOWTEXT(tc->text)->get_frame (NULL); // first frame only
             if (frame) {
                 sp_canvas_item_show(tc->frame);
-                boost::optional<Geom::Rect> frame_bbox = to_2geom(sp_item_bbox_desktop(frame));
+                boost::optional<Geom::Rect> frame_bbox = sp_item_bbox_desktop(frame);
                 if (frame_bbox) {
                     SP_CTRLRECT(tc->frame)->setRectangle(*frame_bbox);
                 }
index 95c144e28b18b831023685a779ee699601fb8c18..33e4ea3a14c4fda57d0320128dcdcb880105e778 100644 (file)
@@ -28,7 +28,7 @@
 #include <sp-shape.h>
 #include <sp-image.h>
 #include <libnr/nr-matrix-ops.h>
-#include <libnr/nr-scale-translate-ops.h>
+#include <2geom/transforms.h>
 
 #include <display/nr-arena.h>
 #include <display/nr-arena-shape.h>
@@ -507,8 +507,8 @@ void Tracer::traceThread()
     double iwscale = width  / iwidth;
     double ihscale = height / iheight;
 
-    NR::translate trans(x, y);
-    NR::scale scal(iwscale, ihscale);
+    Geom::Translate trans(x, y);
+    Geom::Scale scal(iwscale, ihscale);
 
     //# Convolve scale, translation, and the original transform
     NR::Matrix tf(scal * trans);
index 8467d687f4d3490ce269c1c985969257965a5944..df10ca7a1605a391bdc332ebf021c920314e2753 100644 (file)
 #include "display/canvas-arena.h"
 #include "display/curve.h"
 #include "livarot/Shape.h"
-#include "2geom/isnan.h"
+#include <2geom/isnan.h>
+#include <2geom/transforms.h>
 #include "prefs-utils.h"
 #include "style.h"
 #include "box3d.h"
 #include "sp-item-transform.h"
+#include "filter-chemistry.h"
+#include "sp-gaussian-blur-fns.h"
+#include "sp-gaussian-blur.h"
 
 #include "tweak-context.h"
 
@@ -184,7 +188,7 @@ bool is_transform_mode (gint mode)
 
 bool is_color_mode (gint mode)
 {
-    return (mode == TWEAK_MODE_COLORPAINT || mode == TWEAK_MODE_COLORJITTER);
+    return (mode == TWEAK_MODE_COLORPAINT || mode == TWEAK_MODE_COLORJITTER || mode == TWEAK_MODE_BLUR);
 }
 
 void
@@ -255,6 +259,10 @@ sp_tweak_update_cursor (SPTweakContext *tc, bool with_shift)
            tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to <b>randomize colors</b>."), sel_message);
            event_context->cursor_shape = cursor_color_xpm;
            break;
+       case TWEAK_MODE_BLUR:
+           tc->_message_context->setF(Inkscape::NORMAL_MESSAGE, _("%s. Drag or click to <b>increase blur</b>; with Shift to <b>decrease</b>."), sel_message);
+           event_context->cursor_shape = cursor_color_xpm;
+           break;
    }
    sp_event_context_update_cursor(event_context);
    g_free(sel_message);
@@ -393,7 +401,7 @@ get_move_force (SPTweakContext *tc)
 }
 
 bool
-sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Point p, NR::Point vector, gint mode, double radius, double force, double fidelity, bool reverse)
+sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, Geom::Point p, Geom::Point vector, gint mode, double radius, double force, double fidelity, bool reverse)
 {
     bool did = false;
 
@@ -403,7 +411,7 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
         selection->add(item);
     }
 
-    if (SP_IS_GROUP(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)) {
                 if (sp_tweak_dilate_recursive (selection, SP_ITEM(child), p, vector, mode, radius, force, fidelity, reverse))
@@ -414,9 +422,9 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
     } else {
         if (mode == TWEAK_MODE_MOVE) {
 
-            boost::optional<NR::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
+            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
             if (a) {
-                double x = NR::L2(a->midpoint() - p)/radius;
+                double x = Geom::L2(a->midpoint() - p)/radius;
                 if (a->contains(p)) x = 0;
                 if (x < 1) {
                     Geom::Point move = force * 0.5 * (cos(M_PI * x) + 1) * vector;
@@ -427,9 +435,9 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
 
         } else if (mode == TWEAK_MODE_MOVE_IN_OUT) {
 
-            boost::optional<NR::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
+            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
             if (a) {
-                double x = NR::L2(a->midpoint() - p)/radius;
+                double x = Geom::L2(a->midpoint() - p)/radius;
                 if (a->contains(p)) x = 0;
                 if (x < 1) {
                     Geom::Point move = force * 0.5 * (cos(M_PI * x) + 1) * 
@@ -441,14 +449,14 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
 
         } else if (mode == TWEAK_MODE_MOVE_JITTER) {
 
-            boost::optional<NR::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
+            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
             if (a) {
                 double dp = g_random_double_range(0, M_PI*2);
                 double dr = g_random_double_range(0, radius);
-                double x = NR::L2(a->midpoint() - p)/radius;
+                double x = Geom::L2(a->midpoint() - p)/radius;
                 if (a->contains(p)) x = 0;
                 if (x < 1) {
-                    Geom::Point move = force * 0.5 * (cos(M_PI * x) + 1) * NR::Point(cos(dp)*dr, sin(dp)*dr);
+                    Geom::Point move = force * 0.5 * (cos(M_PI * x) + 1) * Geom::Point(cos(dp)*dr, sin(dp)*dr);
                     sp_item_move_rel(item, Geom::Translate(move[Geom::X], -move[Geom::Y]));
                     did = true;
                 }
@@ -456,9 +464,9 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
 
         } else if (mode == TWEAK_MODE_SCALE) {
 
-            boost::optional<NR::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
+            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
             if (a) {
-                double x = NR::L2(a->midpoint() - p)/radius;
+                double x = Geom::L2(a->midpoint() - p)/radius;
                 if (a->contains(p)) x = 0;
                 if (x < 1) {
                     double scale = 1 + (reverse? force : -force) * 0.05 * (cos(M_PI * x) + 1);
@@ -469,9 +477,9 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
 
         } else if (mode == TWEAK_MODE_ROTATE) {
 
-            boost::optional<NR::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
+            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
             if (a) {
-                double x = NR::L2(a->midpoint() - p)/radius;
+                double x = Geom::L2(a->midpoint() - p)/radius;
                 if (a->contains(p)) x = 0;
                 if (x < 1) {
                     double angle = (reverse? force : -force) * 0.05 * (cos(M_PI * x) + 1) * M_PI;
@@ -482,9 +490,9 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
 
         } else if (mode == TWEAK_MODE_MORELESS) {
 
-            boost::optional<NR::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
+            boost::optional<Geom::Rect> a = item->getBounds(sp_item_i2doc_affine(item));
             if (a) {
-                double x = NR::L2(a->midpoint() - p)/radius;
+                double x = Geom::L2(a->midpoint() - p)/radius;
                 if (a->contains(p)) x = 0;
                 if (x < 1) {
                     double prob = force * 0.5 * (cos(M_PI * x) + 1);
@@ -498,9 +506,14 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
                             SPDocument *doc = SP_OBJECT_DOCUMENT(item);
                             Inkscape::XML::Document* xml_doc = sp_document_repr_doc(doc);
                             Inkscape::XML::Node *old_repr = SP_OBJECT_REPR(item);
+                            SPObject *old_obj = doc->getObjectByRepr(old_repr);
                             Inkscape::XML::Node *parent = old_repr->parent();
                             Inkscape::XML::Node *copy = old_repr->duplicate(xml_doc);
                             parent->appendChild(copy);
+                            SPObject *new_obj = doc->getObjectByRepr(copy);
+                            if (selection->includes(old_obj)) {
+                                selection->add(new_obj);
+                            }
                             Inkscape::GC::release(copy);
                         }
                     }
@@ -528,9 +541,9 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
 
 
         // skip those paths whose bboxes are entirely out of reach with our radius
-        boost::optional<NR::Rect> bbox = item->getBounds(sp_item_i2doc_affine(item));
+        boost::optional<Geom::Rect> bbox = item->getBounds(sp_item_i2doc_affine(item));
         if (bbox) {
-            bbox->growBy(radius);
+            bbox->expandBy(radius);
             if (!bbox->contains(p)) {
                 return false;
             }
@@ -566,21 +579,21 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
             theRes->ConvertToShape(theShape, fill_nonZero);
         }
 
-        if (NR::L2(vector) != 0)
-            vector = 1/NR::L2(vector) * vector;
+        if (Geom::L2(vector) != 0)
+            vector = 1/Geom::L2(vector) * vector;
 
         bool did_this = false;
         if (mode == TWEAK_MODE_SHRINK_GROW) {
             if (theShape->MakeTweak(tweak_mode_grow, theRes,
                                  reverse? force : -force,
                                  join_straight, 4.0,
-                                 true, p, NR::Point(0,0), radius, &i2doc) == 0) // 0 means the shape was actually changed
+                                 true, p, Geom::Point(0,0), radius, &i2doc) == 0) // 0 means the shape was actually changed
               did_this = true;
         } else if (mode == TWEAK_MODE_ATTRACT_REPEL) {
             if (theShape->MakeTweak(tweak_mode_repel, theRes,
                                  reverse? force : -force,
                                  join_straight, 4.0,
-                                 true, p, NR::Point(0,0), radius, &i2doc) == 0)
+                                 true, p, Geom::Point(0,0), radius, &i2doc) == 0)
               did_this = true;
         } else if (mode == TWEAK_MODE_PUSH) {
             if (theShape->MakeTweak(tweak_mode_push, theRes,
@@ -592,7 +605,7 @@ sp_tweak_dilate_recursive (Inkscape::Selection *selection, SPItem *item, NR::Poi
             if (theShape->MakeTweak(tweak_mode_roughen, theRes,
                                  force,
                                  join_straight, 4.0,
-                                 true, p, NR::Point(0,0), radius, &i2doc) == 0)
+                                 true, p, Geom::Point(0,0), radius, &i2doc) == 0)
               did_this = true;
         }
 
@@ -784,7 +797,7 @@ tweak_colors_in_gradient (SPItem *item, bool fill_or_stroke,
 
         // This is the matrix which moves and rotates the gradient line
         // so it's oriented along the X axis:
-        NR::Matrix norm = NR::Matrix(NR::translate(-p1)) * NR::Matrix(NR::rotate(-atan2(pdiff[NR::Y], pdiff[NR::X])));
+        NR::Matrix norm = NR::Matrix(Geom::Translate(-p1)) * NR::Matrix(Geom::Rotate(-atan2(pdiff[NR::Y], pdiff[NR::X])));
 
         // Transform the mouse point by it to find out its projection onto the gradient line:
         NR::Point pnorm = p * norm;
@@ -878,6 +891,7 @@ sp_tweak_color_recursive (guint mode, SPItem *item, SPItem *item_at_point,
                           guint32 fill_goal, bool do_fill,
                           guint32 stroke_goal, bool do_stroke,
                           float opacity_goal, bool do_opacity,
+                          bool do_blur, bool reverse,
                           NR::Point p, double radius, double force,
                           bool do_h, bool do_s, bool do_l, bool do_o)
 {
@@ -890,6 +904,7 @@ sp_tweak_color_recursive (guint mode, SPItem *item, SPItem *item_at_point,
                                           fill_goal, do_fill,
                                           stroke_goal, do_stroke,
                                           opacity_goal, do_opacity,
+                                          do_blur, reverse,
                                           p, radius, force, do_h, do_s, do_l, do_o))
                     did = true;
             }
@@ -900,13 +915,13 @@ sp_tweak_color_recursive (guint mode, SPItem *item, SPItem *item_at_point,
         if (!style) {
             return false;
         }
-        boost::optional<NR::Rect> bbox = item->getBounds(sp_item_i2doc_affine(item),
+        boost::optional<Geom::Rect> bbox = item->getBounds(sp_item_i2doc_affine(item),
                                                         SPItem::GEOMETRIC_BBOX);
         if (!bbox) {
             return false;
         }
 
-        NR::Rect brush(p - NR::Point(radius, radius), p + NR::Point(radius, radius));
+        Geom::Rect brush(p - Geom::Point(radius, radius), p + Geom::Point(radius, radius));
 
         NR::Point center = bbox->midpoint();
         double this_force;
@@ -929,6 +944,54 @@ sp_tweak_color_recursive (guint mode, SPItem *item, SPItem *item_at_point,
 
         if (this_force > 0.002) {
 
+            if (do_blur) {
+                boost::optional<Geom::Rect> bbox = item->getBounds(sp_item_i2doc_affine(item),
+                                                        SPItem::GEOMETRIC_BBOX);
+                if (!bbox) {
+                    return did;
+                }
+
+                double blur_now = 0;
+                Geom::Matrix i2d = sp_item_i2d_affine (item);
+                if (style->filter.set && style->getFilter()) {
+                    //cycle through filter primitives
+                    SPObject *primitive_obj = style->getFilter()->children;
+                    while (primitive_obj) {
+                        if (SP_IS_FILTER_PRIMITIVE(primitive_obj)) {
+                            SPFilterPrimitive *primitive = SP_FILTER_PRIMITIVE(primitive_obj);
+                            //if primitive is gaussianblur
+                            if(SP_IS_GAUSSIANBLUR(primitive)) {
+                                SPGaussianBlur * spblur = SP_GAUSSIANBLUR(primitive);
+                                float num = spblur->stdDeviation.getNumber();
+                                blur_now += num * i2d.descrim(); // sum all blurs in the filter
+                            }
+                        }
+                        primitive_obj = primitive_obj->next;
+                    }
+                }
+                double perimeter = bbox->dimensions()[Geom::X] + bbox->dimensions()[Geom::Y];
+                blur_now = blur_now / perimeter;
+
+                double blur_new;
+                if (reverse) 
+                    blur_new = blur_now - 0.06 * force;
+                else
+                    blur_new = blur_now + 0.06 * force;
+                if (blur_new < 0.0005 && blur_new < blur_now) {
+                    blur_new = 0;
+                }
+
+                if (blur_new == 0) {
+                    remove_filter(item, false);
+                } else {
+                    double radius = blur_new * perimeter;
+                    SPFilter *filter = modify_filter_gaussian_blur_from_item(SP_OBJECT_DOCUMENT(item), item, radius);
+
+                    sp_style_set_property_url(item, "filter", filter, false);
+                }
+                return true; // do not do colors, blur is a separate mode
+            }
+
             if (do_fill) {
                 if (style->fill.isPaintserver()) {
                     tweak_colors_in_gradient (item, true, fill_goal, p, radius, this_force, mode, do_h, do_s, do_l, do_o);
@@ -978,6 +1041,19 @@ sp_tweak_dilate (SPTweakContext *tc, NR::Point event_p, NR::Point p, NR::Point v
     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) {
+        fill_goal = SP_RGBA32_U_COMPOSE(
+            (255 - SP_RGBA32_R_U(fill_goal)),
+            (255 - SP_RGBA32_G_U(fill_goal)),
+            (255 - SP_RGBA32_B_U(fill_goal)),
+            (255 - SP_RGBA32_A_U(fill_goal)));
+        stroke_goal = SP_RGBA32_U_COMPOSE(
+            (255 - SP_RGBA32_R_U(stroke_goal)),
+            (255 - SP_RGBA32_G_U(stroke_goal)),
+            (255 - SP_RGBA32_B_U(stroke_goal)),
+            (255 - SP_RGBA32_A_U(stroke_goal)));
+        opacity_goal = 1 - opacity_goal;
+    }
 
     double path_force = get_path_force(tc);
     if (radius == 0 || path_force == 0) {
@@ -998,6 +1074,7 @@ sp_tweak_dilate (SPTweakContext *tc, NR::Point event_p, NR::Point p, NR::Point v
                                           fill_goal, do_fill,
                                           stroke_goal, do_stroke,
                                           opacity_goal, do_opacity,
+                                          tc->mode == TWEAK_MODE_BLUR, reverse,
                                           p, radius, color_force, tc->do_h, tc->do_s, tc->do_l, tc->do_o))
                 did = true;
             }
@@ -1017,7 +1094,7 @@ void
 sp_tweak_update_area (SPTweakContext *tc)
 {
         double radius = get_dilate_radius(tc);
-        NR::Matrix const sm (NR::scale(radius, radius) * NR::translate(SP_EVENT_CONTEXT(tc)->desktop->point()));
+        NR::Matrix const sm (Geom::Scale(radius, radius) * Geom::Translate(SP_EVENT_CONTEXT(tc)->desktop->point()));
         sp_canvas_item_affine_absolute(tc->dilate_area, sm);
         sp_canvas_item_show(tc->dilate_area);
 }
@@ -1092,7 +1169,7 @@ sp_tweak_context_root_handler(SPEventContext *event_context,
 
             // draw the dilating cursor
                 double radius = get_dilate_radius(tc);
-                NR::Matrix const sm (NR::scale(radius, radius) * NR::translate(desktop->w2d(motion_w)));
+                NR::Matrix const sm (Geom::Scale(radius, radius) * Geom::Translate(desktop->w2d(motion_w)));
                 sp_canvas_item_affine_absolute(tc->dilate_area, sm);
                 sp_canvas_item_show(tc->dilate_area);
 
@@ -1183,6 +1260,10 @@ sp_tweak_context_root_handler(SPEventContext *event_context,
                     sp_document_done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop),
                                      SP_VERB_CONTEXT_TWEAK, _("Color jitter tweak"));
                     break;
+                case TWEAK_MODE_BLUR:
+                    sp_document_done(sp_desktop_document(SP_EVENT_CONTEXT(tc)->desktop),
+                                     SP_VERB_CONTEXT_TWEAK, _("Blur tweak"));
+                    break;
             }
         }
         break;
@@ -1286,6 +1367,13 @@ sp_tweak_context_root_handler(SPEventContext *event_context,
                 ret = TRUE;
             }
             break;
+        case GDK_b:
+        case GDK_B:
+            if (MOD__SHIFT_ONLY) {
+                sp_tweak_switch_mode(tc, TWEAK_MODE_BLUR, MOD__SHIFT);
+                ret = TRUE;
+            }
+            break;
 
         case GDK_Up:
         case GDK_KP_Up:
index b5b150de03c692a56d9d846c9bf0c966059e334a..b5a9b6b7e92762fb2fd98bc76f85da04b450e64c 100644 (file)
@@ -43,7 +43,8 @@ enum {
     TWEAK_MODE_ATTRACT_REPEL,
     TWEAK_MODE_ROUGHEN,
     TWEAK_MODE_COLORPAINT,
-    TWEAK_MODE_COLORJITTER
+    TWEAK_MODE_COLORJITTER,
+    TWEAK_MODE_BLUR
 };
 
 struct SPTweakContext
index 20d0ea0a4f131aae5d8ba4c505e119cd17cb2a8f..ce10de477a7b0024d94e56c7162d588e60208d1f 100644 (file)
@@ -38,7 +38,7 @@ GdkPixbuf* render_pixbuf(NRArenaItem* root, double scale_factor, const Geom::Rec
     Geom::Matrix t(Geom::Scale(scale_factor, scale_factor));
     nr_arena_item_set_transform(root, t);
 
-    gc.transform.set_identity();
+    gc.transform.setIdentity();
     nr_arena_item_invoke_update( root, NULL, &gc,
                                  NR_ARENA_ITEM_STATE_ALL,
                                  NR_ARENA_ITEM_STATE_NONE );
index 65cf14a95e397e970366f56038fe7608f69319bc..09521008bef951fb523ca0db0999b244fce11e98 100644 (file)
@@ -407,17 +407,17 @@ bool ClipboardManagerImpl::pasteSize(bool separately, bool apply_x, bool apply_y
         if (separately) {
             for (GSList *i = const_cast<GSList*>(selection->itemList()) ; i ; i = i->next) {
                 SPItem *item = SP_ITEM(i->data);
-                boost::optional<NR::Rect> obj_size = sp_item_bbox_desktop(item);
+                boost::optional<Geom::Rect> obj_size = sp_item_bbox_desktop(item);
                 if ( !obj_size || obj_size->isEmpty() ) continue;
-                sp_item_scale_rel(item, _getScale(min, max, to_2geom(*obj_size), apply_x, apply_y));
+                sp_item_scale_rel(item, _getScale(min, max, *obj_size, apply_x, apply_y));
             }
         }
         // resize the selection as a whole
         else {
-            boost::optional<NR::Rect> sel_size = selection->bounds();
+            boost::optional<Geom::Rect> sel_size = selection->bounds();
             if ( sel_size && !sel_size->isEmpty() ) {
                 sp_selection_scale_relative(selection, sel_size->midpoint(),
-                    _getScale(min, max, to_2geom(*sel_size), apply_x, apply_y));
+                    _getScale(min, max, *sel_size, apply_x, apply_y));
             }
         }
         pasted = true;
@@ -571,7 +571,7 @@ void ClipboardManagerImpl::_copySelection(Inkscape::Selection *selection)
         }
     }
 
-    boost::optional<NR::Rect> size = selection->bounds();
+    boost::optional<Geom::Rect> size = selection->bounds();
     if (size) {
         sp_repr_set_point(_clipnode, "min", size->min());
         sp_repr_set_point(_clipnode, "max", size->max());
@@ -786,7 +786,7 @@ void ClipboardManagerImpl::_pasteDocument(SPDocument *clipdoc, bool in_place)
     selection->setReprList(pasted_objects);         // Change the selection to the freshly pasted objects
     sp_document_ensure_up_to_date(target_document); // What does this do?
     
-    boost::optional<NR::Rect> sel_bbox = selection->bounds(); //In desktop coordinates
+    boost::optional<Geom::Rect> sel_bbox = selection->bounds(); //In desktop coordinates
     // PS: We could also have used the min/max corners calculated above, instead of selection->bounds() because 
     // we know that after pasting the upper left corner of the selection will be aligend to the corresponding 
     // page corner. Using the boundingbox of the selection is more foolproof though
index 99d3fdda3e521c705952f686f97ce68baad3d66b..b8b59230aa068b1d0910a47ab7db32a4fad33902 100644 (file)
@@ -160,7 +160,7 @@ private :
                 selected.erase(master);
             /*}*/
             //Compute the anchor point
-            boost::optional<NR::Rect> b = sp_item_bbox_desktop (thing);
+            boost::optional<Geom::Rect> b = sp_item_bbox_desktop (thing);
             if (b) {
                 mp = Geom::Point(a.mx0 * b->min()[Geom::X] + a.mx1 * b->max()[Geom::X],
                                a.my0 * b->min()[Geom::Y] + a.my1 * b->max()[Geom::Y]);
@@ -177,7 +177,7 @@ private :
 
         case AlignAndDistribute::DRAWING:
         {
-            boost::optional<NR::Rect> b = sp_item_bbox_desktop
+            boost::optional<Geom::Rect> b = sp_item_bbox_desktop
                 ( (SPItem *) sp_document_root (sp_desktop_document (desktop)) );
             if (b) {
                 mp = Geom::Point(a.mx0 * b->min()[Geom::X] + a.mx1 * b->max()[Geom::X],
@@ -190,7 +190,7 @@ private :
 
         case AlignAndDistribute::SELECTION:
         {
-            boost::optional<NR::Rect> b =  selection->bounds();
+            boost::optional<Geom::Rect> b =  selection->bounds();
             if (b) {
                 mp = Geom::Point(a.mx0 * b->min()[Geom::X] + a.mx1 * b->max()[Geom::X],
                                a.my0 * b->min()[Geom::Y] + a.my1 * b->max()[Geom::Y]);
@@ -215,7 +215,7 @@ private :
         prefs_set_int_attribute("options.clonecompensation", "value", SP_CLONE_COMPENSATION_UNMOVED);
 
         bool changed = false;
-        boost::optional<NR::Rect> b;
+        boost::optional<Geom::Rect> b;
         if (sel_as_group)
             b = selection->bounds();
 
@@ -330,9 +330,9 @@ private :
             it != selected.end();
             ++it)
         {
-            boost::optional<NR::Rect> bbox = sp_item_bbox_desktop(*it);
+            boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop(*it);
             if (bbox) {
-                sorted.push_back(BBoxSort(*it, to_2geom(*bbox), _orientation, _kBegin, _kEnd));
+                sorted.push_back(BBoxSort(*it, *bbox, _orientation, _kBegin, _kEnd));
             }
         }
         //sort bbox by anchors
@@ -602,7 +602,7 @@ private :
         //Check 2 or more selected objects
         if (selected.size() < 2) return;
 
-        boost::optional<NR::Rect> sel_bbox = selection->bounds();
+        boost::optional<Geom::Rect> sel_bbox = selection->bounds();
         if (!sel_bbox) {
             return;
         }
@@ -611,7 +611,7 @@ private :
         // nor drift on sequential randomizations. Discard cache on global (or better active
         // desktop's) selection_change signal.
         if (!_dialog.randomize_bbox) {
-            _dialog.randomize_bbox = to_2geom(*sel_bbox);
+            _dialog.randomize_bbox = *sel_bbox;
         }
 
         // see comment in ActionAlign above
@@ -623,13 +623,13 @@ private :
             ++it)
         {
             sp_document_ensure_up_to_date(sp_desktop_document (desktop));
-            boost::optional<NR::Rect> item_box = sp_item_bbox_desktop (*it);
+            boost::optional<Geom::Rect> item_box = sp_item_bbox_desktop (*it);
             if (item_box) {
                 // find new center, staying within bbox
-                double x = _dialog.randomize_bbox->min()[Geom::X] + (*item_box).extent(Geom::X)/2 +
-                    g_random_double_range (0, (*_dialog.randomize_bbox)[Geom::X].extent() - (*item_box).extent(Geom::X));
-                double y = _dialog.randomize_bbox->min()[Geom::Y] + (*item_box).extent(Geom::Y)/2 +
-                    g_random_double_range (0, (*_dialog.randomize_bbox)[Geom::Y].extent() - (*item_box).extent(Geom::Y));
+                double x = _dialog.randomize_bbox->min()[Geom::X] + (*item_box)[Geom::X].extent() /2 +
+                    g_random_double_range (0, (*_dialog.randomize_bbox)[Geom::X].extent() - (*item_box)[Geom::X].extent());
+                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());
                 sp_item_move_rel(*it, Geom::Translate(t));
@@ -1099,9 +1099,9 @@ std::list<SPItem *>::iterator AlignAndDistribute::find_master( std::list<SPItem
     {
         gdouble max = -1e18;
         for (std::list<SPItem *>::iterator it = list.begin(); it != list.end(); it++) {
-            boost::optional<NR::Rect> b = sp_item_bbox_desktop (*it);
+            boost::optional<Geom::Rect> b = sp_item_bbox_desktop (*it);
             if (b) {
-                gdouble dim = (*b).extent(horizontal ? Geom::X : Geom::Y);
+                gdouble dim = (*b)[horizontal ? Geom::X : Geom::Y].extent();
                 if (dim > max) {
                     max = dim;
                     master = it;
@@ -1116,9 +1116,9 @@ std::list<SPItem *>::iterator AlignAndDistribute::find_master( std::list<SPItem
     {
         gdouble max = 1e18;
         for (std::list<SPItem *>::iterator it = list.begin(); it != list.end(); it++) {
-            boost::optional<NR::Rect> b = sp_item_bbox_desktop (*it);
+            boost::optional<Geom::Rect> b = sp_item_bbox_desktop (*it);
             if (b) {
-                gdouble dim = (*b).extent(horizontal ? Geom::X : Geom::Y);
+                gdouble dim = (*b)[horizontal ? Geom::X : Geom::Y].extent();
                 if (dim < max) {
                     max = dim;
                     master = it;
index e2d0449084e2bff8c15b2ba6154eff216a1dc453..e1479d3b4f366685ae907c1b3d372cf30c83b8ef 100644 (file)
@@ -866,7 +866,7 @@ bool FileOpenDialogImplWin32::set_svg_preview()
     NRRectL bbox = {0, 0, scaledSvgWidth, scaledSvgHeight};
 
     // write object bbox to area
-    boost::optional<NR::Rect> maybeArea(from_2geom(area));
+    boost::optional<Geom::Rect> maybeArea(area);
     sp_document_ensure_up_to_date (svgDoc);
     sp_item_invoke_bbox((SPItem *) svgDoc->root, maybeArea,
         sp_item_i2r_affine((SPItem *)(svgDoc->root)), TRUE);
index 44f37083b0402f28bbe075ff130b84f028afc47e..73d26b67e049861dca2ee651cb0284aaf5c41fea 100644 (file)
@@ -176,7 +176,7 @@ LivePathEffectEditor::~LivePathEffectEditor()
 }
 
 void
-LivePathEffectEditor::showParams(LivePathEffect::Effect* effect)
+LivePathEffectEditor::showParams(LivePathEffect::Effect& effect)
 {
     if (effectwidget) {
         effectcontrol_vbox.remove(*effectwidget);
@@ -184,8 +184,8 @@ LivePathEffectEditor::showParams(LivePathEffect::Effect* effect)
         effectwidget = NULL;
     }
 
-    explain_label.set_markup("<b>" + effect->getName() + "</b>");
-    effectwidget = effect->newWidget(&tooltips);
+    explain_label.set_markup("<b>" + effect.getName() + "</b>");
+    effectwidget = effect.newWidget(&tooltips);
     if (effectwidget) {
         effectcontrol_vbox.pack_start(*effectwidget, true, true);
     }
@@ -200,7 +200,7 @@ LivePathEffectEditor::selectInList(LivePathEffect::Effect* effect)
 {
     Gtk::TreeNodeChildren chi = effectlist_view.get_model()->children();
     for (Gtk::TreeIter ci = chi.begin() ; ci != chi.end(); ci++) {
-        if (ci->get_value(columns.lperef)->lpeobject->lpe == effect)
+        if (ci->get_value(columns.lperef)->lpeobject->get_lpe() == effect)
             effectlist_view.get_selection()->select(ci);
     }
 }
@@ -259,7 +259,7 @@ LivePathEffectEditor::onSelectionChanged(Inkscape::Selection *sel)
                 if ( sp_lpe_item_has_path_effect(lpeitem) ) {
                     Inkscape::LivePathEffect::Effect *lpe = sp_lpe_item_get_current_lpe(lpeitem);
                     if (lpe) {
-                        showParams(lpe);
+                        showParams(*lpe);
                         lpe_list_locked = true; 
                         selectInList(lpe);
                     } else {
@@ -295,10 +295,17 @@ LivePathEffectEditor::effect_list_reload(SPLPEItem *lpeitem)
     PathEffectList::iterator it;
     for( it = effectlist.begin() ; it!=effectlist.end(); it++ )
     {
-         Gtk::TreeModel::Row row = *(effectlist_store->append());
-         row[columns.col_name] = (*it)->lpeobject->lpe->getName();
-         row[columns.lperef] = *it;
-         row[columns.col_visible] = (*it)->lpeobject->lpe->isVisible();
+        if ((*it)->lpeobject->get_lpe()) {
+            Gtk::TreeModel::Row row = *(effectlist_store->append());
+            row[columns.col_name] = (*it)->lpeobject->get_lpe()->getName();
+            row[columns.lperef] = *it;
+            row[columns.col_visible] = (*it)->lpeobject->get_lpe()->isVisible();
+        } else {
+            Gtk::TreeModel::Row row = *(effectlist_store->append());
+            row[columns.col_name] = "Unknown effect!";
+            row[columns.lperef] = *it;
+            row[columns.col_visible] = false;
+        }
     }
 }
 
@@ -427,9 +434,11 @@ void LivePathEffectEditor::on_effect_selection_changed()
     LivePathEffect::LPEObjectReference * lperef = (*it)[columns.lperef];
 
     if (lperef && current_lpeitem) {
-        lpe_list_locked = true; // prevent reload of the list which would lose selection
-        sp_lpe_item_set_current_path_effect(current_lpeitem, lperef);
-        showParams(lperef->lpeobject->lpe);
+        if (lperef->lpeobject->get_lpe()) {
+            lpe_list_locked = true; // prevent reload of the list which would lose selection
+            sp_lpe_item_set_current_path_effect(current_lpeitem, lperef);
+            showParams(*lperef->lpeobject->get_lpe());
+        }
     }
 }
 
@@ -440,12 +449,12 @@ void LivePathEffectEditor::on_visibility_toggled( Glib::ustring const& str )
 
     LivePathEffect::LPEObjectReference * lpeobjref = row[columns.lperef];
 
-    if ( lpeobjref ) {
+    if ( lpeobjref && lpeobjref->lpeobject->get_lpe() ) {
         bool newValue = !row[columns.col_visible];
         row[columns.col_visible] = newValue;
         /* FIXME: this explicit writing to SVG is wrong. The lpe_item should have a method to disable/enable an effect within its stack.
          * So one can call:  lpe_item->setActive(lpeobjref->lpeobject); */
-        lpeobjref->lpeobject->lpe->getRepr()->setAttribute("is_visible", newValue ? "true" : "false");
+        lpeobjref->lpeobject->get_lpe()->getRepr()->setAttribute("is_visible", newValue ? "true" : "false");
         sp_document_done( sp_desktop_document(current_desktop), SP_VERB_DIALOG_LIVE_PATH_EFFECT,
                           newValue ? _("Activate path effect") : _("Deactivate path effect"));
     }
index a924ed6e9507d9fe01d5aedc306d7bd1acdebc09..49db74fca9351f2863bc57b543d09b270718f82f 100644 (file)
@@ -53,7 +53,7 @@ private:
 
     void set_sensitize_all(bool sensitive);
 
-    void showParams(LivePathEffect::Effect* effect);
+    void showParams(LivePathEffect::Effect& effect);
     void showText(Glib::ustring const &str);
     void selectInList(LivePathEffect::Effect* effect);
 
index 0334b85415c97bd2c8c05141c88d1b717c2f88ed..5927dc74031207e1378605c043b5919fca85e9d3 100644 (file)
@@ -457,7 +457,7 @@ Transformation::updatePageMove(Inkscape::Selection *selection)
 {
     if (selection && !selection->isEmpty()) {
         if (!_check_move_relative.get_active()) {
-            boost::optional<NR::Rect> bbox = selection->bounds();
+            boost::optional<Geom::Rect> bbox = selection->bounds();
             if (bbox) {
                 double x = bbox->min()[Geom::X];
                 double y = bbox->min()[Geom::Y];
@@ -478,10 +478,10 @@ void
 Transformation::updatePageScale(Inkscape::Selection *selection)
 {
     if (selection && !selection->isEmpty()) {
-        boost::optional<NR::Rect> bbox = selection->bounds();
+        boost::optional<Geom::Rect> bbox = selection->bounds();
         if (bbox) {
-            double w = bbox->extent(Geom::X);
-            double h = bbox->extent(Geom::Y);
+            double w = bbox->dimensions()[Geom::X];
+            double h = bbox->dimensions()[Geom::Y];
             _scalar_scale_horizontal.setHundredPercent(w);
             _scalar_scale_vertical.setHundredPercent(h);
             onScaleXValueChanged(); // to update x/y proportionality if switch is on
@@ -508,10 +508,10 @@ void
 Transformation::updatePageSkew(Inkscape::Selection *selection)
 {
     if (selection && !selection->isEmpty()) {
-        boost::optional<NR::Rect> bbox = selection->bounds();
+        boost::optional<Geom::Rect> bbox = selection->bounds();
         if (bbox) {
-            double w = bbox->extent(Geom::X);
-            double h = bbox->extent(Geom::Y);
+            double w = bbox->dimensions()[Geom::X];
+            double h = bbox->dimensions()[Geom::Y];
             _scalar_skew_vertical.setHundredPercent(w);
             _scalar_skew_horizontal.setHundredPercent(h);
             _page_skew.set_sensitive(true);
@@ -604,7 +604,7 @@ Transformation::applyPageMove(Inkscape::Selection *selection)
         if (_check_move_relative.get_active()) {
             sp_selection_move_relative(selection, x, y);
         } else {
-            boost::optional<NR::Rect> bbox = selection->bounds();
+            boost::optional<Geom::Rect> bbox = selection->bounds();
             if (bbox) {
                 sp_selection_move_relative(selection,
                                            x - bbox->min()[Geom::X], y - bbox->min()[Geom::Y]);
@@ -625,9 +625,9 @@ Transformation::applyPageMove(Inkscape::Selection *selection)
                      it != selected.end();
                      ++it)
                 {
-                    boost::optional<NR::Rect> bbox = sp_item_bbox_desktop(*it);
+                    boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop(*it);
                     if (bbox) {
-                        sorted.push_back(BBoxSort(*it, to_2geom(*bbox), Geom::X, x > 0? 1. : 0., x > 0? 0. : 1.));
+                        sorted.push_back(BBoxSort(*it, *bbox, Geom::X, x > 0? 1. : 0., x > 0? 0. : 1.));
                     }
                 }
                 //sort bbox by anchors
@@ -649,9 +649,9 @@ Transformation::applyPageMove(Inkscape::Selection *selection)
                      it != selected.end();
                      ++it)
                 {
-                    boost::optional<NR::Rect> bbox = sp_item_bbox_desktop(*it);
+                    boost::optional<Geom::Rect> bbox = sp_item_bbox_desktop(*it);
                     if (bbox) {
-                        sorted.push_back(BBoxSort(*it, to_2geom(*bbox), Geom::Y, y > 0? 1. : 0., y > 0? 0. : 1.));
+                        sorted.push_back(BBoxSort(*it, *bbox, Geom::Y, y > 0? 1. : 0., y > 0? 0. : 1.));
                     }
                 }
                 //sort bbox by anchors
@@ -668,7 +668,7 @@ Transformation::applyPageMove(Inkscape::Selection *selection)
                 }
             }
         } else {
-            boost::optional<NR::Rect> bbox = selection->bounds();
+            boost::optional<Geom::Rect> bbox = selection->bounds();
             if (bbox) {
                 sp_selection_move_relative(selection,
                                            x - bbox->min()[Geom::X], y - bbox->min()[Geom::Y]);
@@ -692,13 +692,13 @@ Transformation::applyPageScale(Inkscape::Selection *selection)
             Geom::Scale scale (0,0);
             // the values are increments!
             if (_units_scale.isAbsolute()) {
-                boost::optional<NR::Rect> bbox(sp_item_bbox_desktop(item));
+                boost::optional<Geom::Rect> bbox(sp_item_bbox_desktop(item));
                 if (bbox) {
                     double new_width = scaleX;
                     if (fabs(new_width) < 1e-6) new_width = 1e-6; // not 0, as this would result in a nasty no-bbox object
                     double new_height = scaleY;
                     if (fabs(new_height) < 1e-6) new_height = 1e-6;
-                    scale = Geom::Scale(new_width / bbox->extent(Geom::X), new_height / bbox->extent(Geom::Y));
+                    scale = Geom::Scale(new_width / bbox->dimensions()[Geom::X], new_height / bbox->dimensions()[Geom::Y]);
                 }
             } else {
                 double new_width = scaleX;
@@ -710,7 +710,7 @@ Transformation::applyPageScale(Inkscape::Selection *selection)
             sp_item_scale_rel (item, scale);
         }
     } else {
-        boost::optional<NR::Rect> bbox(selection->bounds());
+        boost::optional<Geom::Rect> bbox(selection->bounds());
         if (bbox) {
             Geom::Point center(bbox->midpoint()); // use rotation center?
             Geom::Scale scale (0,0);
@@ -720,7 +720,7 @@ Transformation::applyPageScale(Inkscape::Selection *selection)
                 if (fabs(new_width) < 1e-6) new_width = 1e-6;
                 double new_height = scaleY;
                 if (fabs(new_height) < 1e-6) new_height = 1e-6;
-                scale = Geom::Scale(new_width / bbox->extent(Geom::X), new_height / bbox->extent(Geom::Y));
+                scale = Geom::Scale(new_width / bbox->dimensions()[Geom::X], new_height / bbox->dimensions()[Geom::Y]);
             } else {
                 double new_width = scaleX;
                 if (fabs(new_width) < 1e-6) new_width = 1e-6;
@@ -777,21 +777,21 @@ Transformation::applyPageSkew(Inkscape::Selection *selection)
             } else { // absolute displacement
                 double skewX = _scalar_skew_horizontal.getValue("px");
                 double skewY = _scalar_skew_vertical.getValue("px");
-                boost::optional<NR::Rect> bbox(sp_item_bbox_desktop(item));
+                boost::optional<Geom::Rect> bbox(sp_item_bbox_desktop(item));
                 if (bbox) {
-                    double width = bbox->extent(Geom::X);
-                    double height = bbox->extent(Geom::Y);
+                    double width = bbox->dimensions()[Geom::X];
+                    double height = bbox->dimensions()[Geom::Y];
                     sp_item_skew_rel (item, skewX/height, skewY/width);
                 }
             }
         }
     } else { // transform whole selection
-        boost::optional<NR::Rect> bbox = selection->bounds();
+        boost::optional<Geom::Rect> bbox = selection->bounds();
         boost::optional<Geom::Point> center = selection->center();
 
         if ( bbox && center ) {
-            double width  = bbox->extent(Geom::X);
-            double height = bbox->extent(Geom::Y);
+            double width  = bbox->dimensions()[Geom::X];
+            double height = bbox->dimensions()[Geom::Y];
 
             if (!_units_skew.isAbsolute()) { // percentage
                 double skewX = _scalar_skew_horizontal.getValue("%");
@@ -869,7 +869,7 @@ Transformation::onMoveRelativeToggled()
 
     //g_message("onMoveRelativeToggled: %f, %f px\n", x, y);
 
-    boost::optional<NR::Rect> bbox = selection->bounds();
+    boost::optional<Geom::Rect> bbox = selection->bounds();
 
     if (bbox) {
         if (_check_move_relative.get_active()) {
@@ -1009,7 +1009,7 @@ Transformation::onClear()
             _scalar_move_horizontal.setValue(0);
             _scalar_move_vertical.setValue(0);
         } else {
-            boost::optional<NR::Rect> bbox = selection->bounds();
+            boost::optional<Geom::Rect> bbox = selection->bounds();
             if (bbox) {
                 _scalar_move_horizontal.setValue(bbox->min()[Geom::X], "px");
                 _scalar_move_vertical.setValue(bbox->min()[Geom::Y], "px");
index bd6c5032cc34676a3db037baf1aa37329d8c125a..67091fc40c6e19e6ee831f9efccce084fc5aa008 100644 (file)
@@ -1097,7 +1097,7 @@ EditWidget::initStatusbar()
 
     _select_status.property_xalign() = 0.0;
     _select_status.property_yalign() = 0.5;
-    _select_status.set_markup (_("<b>Welcome to Inkscape!</b> Use shape or freehand tools to create objects; use selector (arrow) to move or transform them."));
+    _select_status.set_markup (_("<b>Welcome to Inkscape!</b> Use shape or drawing tools to create objects; use selector (arrow) to move or transform them."));
     // include this again with Gtk+-2.6
 #if GTK_VERSION_GE(2,6)
      gtk_label_set_ellipsize (GTK_LABEL(_select_status.gobj()), PANGO_ELLIPSIZE_END);
@@ -1400,18 +1400,20 @@ EditWidget::updateScrollbars (double scale)
 
     /* The desktop region we always show unconditionally */
     SPDocument *doc = _desktop->doc();
-    NR::Rect darea ( Geom::Point(-sp_document_width(doc), -sp_document_height(doc)),
+    Geom::Rect darea ( Geom::Point(-sp_document_width(doc), -sp_document_height(doc)),
                      Geom::Point(2 * sp_document_width(doc), 2 * sp_document_height(doc))  );
-    darea = NR::union_bounds(darea, sp_item_bbox_desktop(SP_ITEM(SP_DOCUMENT_ROOT(doc))));
+    SPObject* root = doc->root;
+    SPItem* item = SP_ITEM(root);
+    boost::optional<Geom::Rect> deskarea = Geom::unify(darea, sp_item_bbox_desktop(item));
 
     /* Canvas region we always show unconditionally */
-    NR::Rect carea( Geom::Point(darea.min()[Geom::X] * scale - 64, darea.max()[Geom::Y] * -scale - 64),
-                    Geom::Point(darea.max()[Geom::X] * scale + 64, darea.min()[Geom::Y] * -scale + 64)  );
+    Geom::Rect carea( Geom::Point(deskarea->min()[Geom::X] * scale - 64, deskarea->max()[Geom::Y] * -scale - 64),
+                    Geom::Point(deskarea->max()[Geom::X] * scale + 64, deskarea->min()[Geom::Y] * -scale + 64)  );
 
     Geom::Rect const viewbox = _svg_canvas.spobj()->getViewbox();
 
     /* Viewbox is always included into scrollable region */
-    carea = NR::union_bounds(carea, from_2geom(viewbox));
+    carea = Geom::unify(carea, viewbox);
 
     Gtk::Adjustment *adj = _bottom_scrollbar.get_adjustment();
     adj->set_value(viewbox.min()[Geom::X]);
index d4c1bb7053d7038910d1c49c32e77036947f6f04..f2fa9bcd3c2bae4b9b04021cbeb5ea7f20b09f88 100644 (file)
@@ -114,10 +114,10 @@ ObjectCompositeSettings::_blendBlurValueChanged()
     // FIXME: fix for GTK breakage, see comment in SelectedStyle::on_opacity_changed; here it results in crash 1580903
     sp_canvas_force_full_redraw_after_interruptions(sp_desktop_canvas(desktop), 0);
 
-    boost::optional<NR::Rect> bbox = _subject->getBounds(SPItem::GEOMETRIC_BBOX);
+    boost::optional<Geom::Rect> bbox = _subject->getBounds(SPItem::GEOMETRIC_BBOX);
     double radius;
     if (bbox) {
-        double perimeter = bbox->extent(Geom::X) + bbox->extent(Geom::Y);
+        double perimeter = bbox->dimensions()[Geom::X] + bbox->dimensions()[Geom::Y];   // fixme: this is only half the perimeter, is that correct?
         radius = _fe_cb.get_blur_value() * perimeter / 400;
     } else {
         radius = 0;
@@ -260,9 +260,9 @@ ObjectCompositeSettings::_subjectChanged() {
             case QUERY_STYLE_SINGLE:
             case QUERY_STYLE_MULTIPLE_AVERAGED:
             case QUERY_STYLE_MULTIPLE_SAME:
-                boost::optional<NR::Rect> bbox = _subject->getBounds(SPItem::GEOMETRIC_BBOX);
+                boost::optional<Geom::Rect> bbox = _subject->getBounds(SPItem::GEOMETRIC_BBOX);
                 if (bbox) {
-                    double perimeter = bbox->extent(Geom::X) + bbox->extent(Geom::Y);
+                    double perimeter = bbox->dimensions()[Geom::X] + bbox->dimensions()[Geom::Y];   // fixme: this is only half the perimeter, is that correct?
                     _fe_cb.set_blur_sensitive(true);
                     //update blur widget value
                     float radius = query->filter_gaussianBlur_deviation.value;
index 39081b0057b36fc4c2c8d606b1e8da92724437cd..a2e8a25478d6e455e08d576d46849c54e800a238 100644 (file)
@@ -65,12 +65,12 @@ StyleSubject::iterator StyleSubject::Selection::begin() {
     }
 }
 
-boost::optional<NR::Rect> StyleSubject::Selection::getBounds(SPItem::BBoxType type) {
+boost::optional<Geom::Rect> StyleSubject::Selection::getBounds(SPItem::BBoxType type) {
     Inkscape::Selection *selection = _getSelection();
     if (selection) {
         return selection->bounds(type);
     } else {
-        return boost::optional<NR::Rect>();
+        return boost::optional<Geom::Rect>();
     }
 }
 
@@ -143,12 +143,12 @@ StyleSubject::iterator StyleSubject::CurrentLayer::begin() {
     return iterator(_getLayerSList());
 }
 
-boost::optional<NR::Rect> StyleSubject::CurrentLayer::getBounds(SPItem::BBoxType type) {
+boost::optional<Geom::Rect> StyleSubject::CurrentLayer::getBounds(SPItem::BBoxType type) {
     SPObject *layer = _getLayer();
     if (layer && SP_IS_ITEM(layer)) {
         return sp_item_bbox_desktop(SP_ITEM(layer), type);
     } else {
-        return boost::optional<NR::Rect>();
+        return boost::optional<Geom::Rect>();
     }
 }
 
index 9204a816364189189995ea2bb2ab5efd0a4c865c..231a88728ae41a6831ae098be514a1e1fe9c45df 100644 (file)
@@ -12,6 +12,7 @@
 #include "util/glib-list-iterators.h"
 #include <boost/optional.hpp>
 #include "libnr/nr-rect.h"
+#include <2geom/rect.h>
 #include "sp-item.h"
 #include <sigc++/sigc++.h>
 
@@ -43,7 +44,7 @@ public:
 
     virtual iterator begin() = 0;
     virtual iterator end() { return iterator(NULL); }
-    virtual boost::optional<NR::Rect> getBounds(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) = 0;
+    virtual boost::optional<Geom::Rect> getBounds(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX) = 0;
     virtual int queryStyle(SPStyle *query, int property) = 0;
     virtual void setCSS(SPCSSAttr *css) = 0;
 
@@ -66,7 +67,7 @@ public:
     ~Selection();
 
     virtual iterator begin();
-    virtual boost::optional<NR::Rect> getBounds(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX);
+    virtual boost::optional<Geom::Rect> getBounds(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX);
     virtual int queryStyle(SPStyle *query, int property);
     virtual void setCSS(SPCSSAttr *css);
 
@@ -87,7 +88,7 @@ public:
     ~CurrentLayer();
 
     virtual iterator begin();
-    virtual boost::optional<NR::Rect> getBounds(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX);
+    virtual boost::optional<Geom::Rect> getBounds(SPItem::BBoxType type = SPItem::APPROXIMATE_BBOX);
     virtual int queryStyle(SPStyle *query, int property);
     virtual void setCSS(SPCSSAttr *css);
 
index c1e7e5fc93b9f383c0f538efb09530bb4e763b8d..55a465fbb240c6f17932a9d6d683df4630f072c0 100644 (file)
@@ -1308,7 +1308,7 @@ ObjectVerb::perform( SPAction *action, void *data, void */*pdata*/ )
     if (sel->isEmpty())
         return;
 
-    boost::optional<NR::Rect> bbox = sel->bounds();
+    boost::optional<Geom::Rect> bbox = sel->bounds();
     if (!bbox) {
         return;
     }
index f7e2c3f2776f6635c20a2f7f89ea7cc0463248a5..e4190b93014e2024eef72dbd022d333927cf0f5f 100644 (file)
@@ -1724,20 +1724,20 @@ sp_desktop_widget_update_scrollbars (SPDesktopWidget *dtw, double scale)
 
     /* The desktop region we always show unconditionally */
     SPDocument *doc = dtw->desktop->doc();
-    NR::Rect darea(Geom::Point(-sp_document_width(doc), -sp_document_height(doc)),
-                   Geom::Point(2 * sp_document_width(doc), 2 * sp_document_height(doc)));
-    darea = NR::union_bounds(darea, sp_item_bbox_desktop(SP_ITEM(SP_DOCUMENT_ROOT(doc))));
+    Geom::Rect darea ( Geom::Point(-sp_document_width(doc), -sp_document_height(doc)),
+                     Geom::Point(2 * sp_document_width(doc), 2 * sp_document_height(doc))  );
+    SPObject* root = doc->root;
+    SPItem* item = SP_ITEM(root);
+    boost::optional<Geom::Rect> deskarea = Geom::unify(darea, sp_item_bbox_desktop(item));
 
     /* Canvas region we always show unconditionally */
-    NR::Rect carea(Geom::Point(darea.min()[Geom::X] * scale - 64,
-                             darea.max()[Geom::Y] * -scale - 64),
-                   Geom::Point(darea.max()[Geom::X] * scale + 64,
-                             darea.min()[Geom::Y] * -scale + 64));
+    Geom::Rect carea( Geom::Point(deskarea->min()[Geom::X] * scale - 64, deskarea->max()[Geom::Y] * -scale - 64),
+                    Geom::Point(deskarea->max()[Geom::X] * scale + 64, deskarea->min()[Geom::Y] * -scale + 64)  );
 
     Geom::Rect viewbox = dtw->canvas->getViewbox();
 
     /* Viewbox is always included into scrollable region */
-    carea = NR::union_bounds(carea, from_2geom(viewbox));
+    carea = Geom::unify(carea, viewbox);
 
     set_adjustment(dtw->hadj, carea.min()[Geom::X], carea.max()[Geom::X],
                    viewbox.dimensions()[Geom::X],
index 183481cf68091b3573fbdf2729a870c1fa5e2ae1..401d76474b88add712638a4934cefbf4d285e300 100644 (file)
@@ -658,11 +658,7 @@ sp_icon_doc_icon( SPDocument *doc, NRArenaItem *root,
         if (object && SP_IS_ITEM(object)) {
             /* Find bbox in document */
             Geom::Matrix const i2doc(sp_item_i2doc_affine(SP_ITEM(object)));
-            boost::optional<NR::Rect> nrdbox = SP_ITEM(object)->getBounds(i2doc);
-            boost::optional<Geom::Rect> dbox;
-            if (nrdbox) {
-                dbox = to_2geom(*nrdbox);
-            }
+            boost::optional<Geom::Rect> dbox = SP_ITEM(object)->getBounds(i2doc);
 
             if ( SP_OBJECT_PARENT(object) == NULL )
             {
@@ -676,7 +672,7 @@ sp_icon_doc_icon( SPDocument *doc, NRArenaItem *root,
                 /* Update to renderable state */
                 double sf = 1.0;
                 nr_arena_item_set_transform(root, (Geom::Matrix)Geom::Scale(sf, sf));
-                gc.transform.set_identity();
+                gc.transform.setIdentity();
                 nr_arena_item_invoke_update( root, NULL, &gc,
                                              NR_ARENA_ITEM_STATE_ALL,
                                              NR_ARENA_ITEM_STATE_NONE );
@@ -708,7 +704,7 @@ sp_icon_doc_icon( SPDocument *doc, NRArenaItem *root,
                         sf = (double)psize / (double)block;
 
                         nr_arena_item_set_transform(root, (Geom::Matrix)Geom::Scale(sf, sf));
-                        gc.transform.set_identity();
+                        gc.transform.setIdentity();
                         nr_arena_item_invoke_update( root, NULL, &gc,
                                                      NR_ARENA_ITEM_STATE_ALL,
                                                      NR_ARENA_ITEM_STATE_NONE );
index e413aa39e04f4b0879a92c95d6046566aedbfa39..5f43f792560674590873c1b9454c2c7d9dadb6b6 100644 (file)
@@ -68,7 +68,7 @@ sp_selection_layout_widget_update(SPWidget *spw, Inkscape::Selection *sel)
         int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0);
         SPItem::BBoxType bbox_type = (prefs_bbox ==0)? 
             SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX;
-        boost::optional<NR::Rect> const bbox(sel->bounds(bbox_type));
+        boost::optional<Geom::Rect> const bbox(sel->bounds(bbox_type));
         if ( bbox && !bbox->isEmpty() ) {
             UnitTracker *tracker = reinterpret_cast<UnitTracker*>(g_object_get_data(G_OBJECT(spw), "tracker"));
             SPUnit const &unit = *tracker->getActiveUnit();
@@ -76,8 +76,8 @@ sp_selection_layout_widget_update(SPWidget *spw, Inkscape::Selection *sel)
             struct { char const *key; double val; } const keyval[] = {
                 { "X", bbox->min()[X] },
                 { "Y", bbox->min()[Y] },
-                { "width", bbox->extent(X) },
-                { "height", bbox->extent(Y) }
+                { "width", bbox->dimensions()[X] },
+                { "height", bbox->dimensions()[Y] }
             };
 
             if (unit.base == SP_UNIT_DIMENSIONLESS) {
@@ -158,7 +158,7 @@ sp_object_layout_any_value_changed(GtkAdjustment *adj, SPWidget *spw)
     int prefs_bbox = prefs_get_int_attribute("tools", "bounding_box", 0);
     SPItem::BBoxType bbox_type = (prefs_bbox ==0)? 
         SPItem::APPROXIMATE_BBOX : SPItem::GEOMETRIC_BBOX;
-    boost::optional<NR::Rect> bbox = selection->bounds(bbox_type);
+    boost::optional<Geom::Rect> bbox = selection->bounds(bbox_type);
 
     if ( !bbox || bbox->isEmpty() ) {
         g_object_set_data(G_OBJECT(spw), "update", GINT_TO_POINTER(FALSE));
@@ -182,27 +182,27 @@ sp_object_layout_any_value_changed(GtkAdjustment *adj, SPWidget *spw)
         x0 = sp_units_get_pixels (a_x->value, unit);
         y0 = sp_units_get_pixels (a_y->value, unit);
         x1 = x0 + sp_units_get_pixels (a_w->value, unit);
-        xrel = sp_units_get_pixels (a_w->value, unit) / bbox->extent(Geom::X);
+        xrel = sp_units_get_pixels (a_w->value, unit) / bbox->dimensions()[Geom::X];
         y1 = y0 + sp_units_get_pixels (a_h->value, unit);
-        yrel = sp_units_get_pixels (a_h->value, unit) / bbox->extent(Geom::Y);
+        yrel = sp_units_get_pixels (a_h->value, unit) / bbox->dimensions()[Geom::Y];
     } else {
         double const x0_propn = a_x->value * unit.unittobase;
         x0 = bbox->min()[Geom::X] * x0_propn;
         double const y0_propn = a_y->value * unit.unittobase;
         y0 = y0_propn * bbox->min()[Geom::Y];
         xrel = a_w->value * unit.unittobase;
-        x1 = x0 + xrel * bbox->extent(Geom::X);
+        x1 = x0 + xrel * bbox->dimensions()[Geom::X];
         yrel = a_h->value * unit.unittobase;
-        y1 = y0 + yrel * bbox->extent(Geom::Y);
+        y1 = y0 + yrel * bbox->dimensions()[Geom::Y];
     }
 
     // Keep proportions if lock is on
     GtkToggleAction *lock = GTK_TOGGLE_ACTION( g_object_get_data(G_OBJECT(spw), "lock") );
     if ( gtk_toggle_action_get_active(lock) ) {
         if (adj == a_h) {
-            x1 = x0 + yrel * bbox->extent(Geom::X);
+            x1 = x0 + yrel * bbox->dimensions()[Geom::X];
         } else if (adj == a_w) {
-            y1 = y0 + xrel * bbox->extent(Geom::Y);
+            y1 = y0 + xrel * bbox->dimensions()[Geom::Y];
         }
     }
 
index 0749d4c66221adf4d788378f5675dbaa90fbec38..b70684692fc6b8ab9c9131b160caa3c33043b23d 100644 (file)
@@ -3774,6 +3774,14 @@ static void sp_tweak_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainAction
                             2, "tweak_colorjitter_mode",
                             -1 );
 
+        gtk_list_store_append( model, &iter );
+        gtk_list_store_set( model, &iter,
+                            0, _("Blur mode"),
+                            1, _("Blur selected objects more; with Shift, blur less"),
+                            2, "tweak_blur_mode",
+                            -1 );
+
+
         EgeSelectOneAction* act = ege_select_one_action_new( "TweakModeAction", _("Mode"), (""), NULL, GTK_TREE_MODEL(model) );
         g_object_set( act, "short_label", _("Mode:"), NULL );
         gtk_action_group_add_action( mainActions, GTK_ACTION(act) );
@@ -5007,7 +5015,7 @@ lpetool_toggle_set_bbox (GtkToggleAction *act, gpointer data) {
     SPDesktop *desktop = static_cast<SPDesktop *>(data);
     Inkscape::Selection *selection = desktop->selection;
 
-    boost::optional<NR::Rect> bbox = selection->bounds();
+    boost::optional<Geom::Rect> bbox = selection->bounds();
 
     if (bbox) {
         Geom::Point A(bbox->min());
@@ -5230,6 +5238,13 @@ static void sp_lpetool_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActi
 //##       Eraser       ##
 //########################
 
+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 );
+    update_presets_list(tbl);
+}
+
 static void sp_erasertb_mode_changed( EgeSelectOneAction *act, GObject *tbl )
 {
     SPDesktop *desktop = (SPDesktop *) g_object_get_data( tbl, "desktop" );
@@ -5266,7 +5281,7 @@ static void sp_eraser_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActio
                                                               GTK_WIDGET(desktop->canvas), NULL, holder, TRUE, "altx-eraser",
                                                               1, 100, 1.0, 0.0,
                                                               labels, values, G_N_ELEMENTS(labels),
-                                                              sp_ddc_width_value_changed,  0.01, 0, 100 );
+                                                              sp_erc_width_value_changed,  0.01, 0, 100 );
         ege_adjustment_action_set_appearance( eact, TOOLBAR_SLIDER_HINT );
         gtk_action_group_add_action( mainActions, GTK_ACTION(eact) );
         gtk_action_set_sensitive( GTK_ACTION(eact), TRUE );
@@ -6401,8 +6416,7 @@ static void connector_spacing_changed(GtkAdjustment *adj, GObject* tbl)
     for ( GSList const *iter = items ; iter != NULL ; iter = iter->next ) {
         SPItem *item = reinterpret_cast<SPItem *>(iter->data);
         Geom::Matrix m = Geom::identity();
-        NR::Matrix m_NR = from_2geom(m);
-        avoid_item_move(&m_NR, item);
+        avoid_item_move(&m, item);
     }
 
     if (items) {